Berkus
пиздец какой
Constantine
я тут экспериментирую с записью js-объектов
Berkus
ты сам это сопровождаешь или кому-то другому страдать придется?
pavel
https://pastebin.com/nuffPgvX
А, ну всё понятно. Так писать нельзя. Не пиши так никогда и проблема сама собой снимется. Так пишут только говнари и понторезы.
Vsevolod
не повезло тому, кто это потом будет поддерживать
Vsevolod
бгг
Berkus
это код тестов
ок, ты сам этот код тестов сопровождаешь или кому-то другому страдать придется?
pavel
Да не, никто не будет поддерживать. Куй забьют и дальше пойдут, а этого джуна надо успеть уволить пока не внедрился глубоко в кодовую базу
Крылатый
https://pastebin.com/nuffPgvX
Выглядит как лисп.
pavel
сам сопровождаю, в чем проблема-то?
В том, что это понятно с большой вероятностью только автору и компилятору. Код надо писать так, чтобы понимало быдло с улицы - это признак профессионализма.
Крылатый
Впрочем, вроде норм.
Berkus
Лол щито в чем проблема
я бы сказал что несколько нахуеверчено
pavel
Лол щито в чем проблема
"щито"? Ты не расслышал печатные буквы? )
Крылатый
С range тут будет покрасивше выглядить, да.
pavel
В общем у автора типичный говнокод, так бабки алкашки в нашем подъезде пишут.
pavel
Вот давайте без этого, да.)
Да не, давайте с этим!
Vsevolod
а как же доминировать??
Berkus
да не, код как код
Крылатый
В бане подоминируешь.
Berkus
просто я не вижу удобства впихивать все это инлайн
Berkus
выглядит громоздко
pavel
Не, чувак же уже сказал "щито" на цивилизованные попытки это объяснить уже )
Constantine
я бы сказал что несколько нахуеверчено
Смотри, там на самом деле имена заменены. Но читается по строкам, как маяковский: тестовая среда в такой-то файл пишешь массив по каждому тестову набора "input" => input "output" => массив из ответа функции //поля ответа функции "comment" => коммент к тесту
Константин
есть кто Qt под Linux ипользует?
🦥Alex Fails
думаю, есть. давай к вопросу
Константин
стыдно )) может в ЛС?
🦥Alex Fails
стыдно )) может в ЛС?
У нас есть чат для новичков для таких случаев (@supapro)
Constantine
я бы лучше сделал TestEnvironment.dump( L"somename.txt"_filename, json { {"input", input.input}, {"output", output}, {"comment", input.comment} } ); как-то сильно проще кмк
пробовал. во-первых хуже читается. во-вторых я не понимаю, как сделать variadic с фиксированным типом.
Constantine
а initializer list здесь нельзя, он там очень хочет не-CopyConstructible иметь
Berkus
не знаю, я привел в пример лохманновский жсон - там все работае
Constantine
не знаю, я привел в пример лохманновский жсон - там все работае
дай ссыль и скажи, копирует ли он при таком заполнении узлы
Berkus
не знаю, исходники выложены у нлохманна, это один из самых в принципе вообще популярных репо на гитхабе, сложно промахнуться
Berkus
не знаю почему ты велосипедишь вместо этого
Vsevolod
17 kloc хедер у этого парсера - какой-то эребор, на мой взгляд
Berkus
>Speed. There are certainly faster JSON libraries Зачем в тестах скорость это уже другой вопрос.
докопались вы до этой скорости как будто трехгигабайтные жсоны на время сортируете
Berkus
удобство » скорость
Constantine
не знаю почему ты велосипедишь вместо этого
потому что у меня для начала legacy по string классу ;)
Berkus
а, ну тогда я лучше пойду
Constantine
короче х3, синтаксис ["field"](value) мне анивей нравится больше
Igor
удобство » скорость
Вот когда это говорят про парсинг, возникает подгорание ниже пояса, ибо обычно парсинг уже 10-20мб json является той еще болью из-за промежуточных алллокаций и вполне возможно что-нибудь наебнуть.
Constantine
да и ranges кажется остаются в experimental на 20 стандарте
Constantine
вопрос: можно ли забахать на препроцессоре, чтобы variadic в макросе раскрылся в #arg1, arg1, #arg2, arg2, ...
Constantine
Да
А есть примеры?
Vsevolod
https://github.com/mcinglis/macrofun/blob/master/zip.h
Constantine
А, я глупый, можно же первый аргумент вытащить
Vsevolod
но несколько ограниченно
Constantine
И рекурсивно макрос вызвать
Vsevolod
препроцессор не поддерживает рекурсии
Vsevolod
поэтому ее нужно эмулировать руками
Vsevolod
до нужной глубины
Vsevolod
но подход такой, да
🦥Alex Fails
Есть генерик-шаблоны в цэ99
Michael
цэ11
🦥Alex Fails
А, да
Igor
метапрограммисты, существует ли в природе "typedef if exists"? что-нибудь вроде typedef std::or<T::element_type, T>::type ActualType
🦥Alex Fails
enable_if
Igor
а как через него сделать это "или"?
Vsevolod
http://en.cppreference.com/w/cpp/types/conditional
Vsevolod
ну или http://en.cppreference.com/w/cpp/types/disjunction если c++17 (или самому набросать)
Дмитрий ⬡
Я вижу такую дикую перегрузку операторов
Крылатый
Или что ты имеешь ввиду?
Дмитрий
Чисто из интересна. Есть ли смысл учить программирование, с целью дальнейшего продвижения и получения профессии? При том, что не имею ни студенческого, ни высшего?
Дмитрий
институтского обучения*
Дмитрий
Печально.