> There are only two hard things in Computer Science: cache invalidation and naming things.
В этом полезном итт треде будем решать вторую из этих проблем, то есть помогать друг другу подбирать хорошие, годные имена для наших функций, типов и классов.
Я начну: как назвать функцию, которая возвращает функцию, которая принимает некий флаг и возвращает функцию, которая принимает некий контекст и возвращает результат?
>>1086183 (OP) определись с Verb-Noun или Noun-Verb, предпочитаю второе. поскольку ооп для пидоров, пишу на процедурном типа: модуль_хреновина_действие_прочее
БЛЯДОТВАРИ, НАЗВАНИЕ ДОЛЖНО БЫТЬ CAMELCASE - ПЕРЕД ЭТИМ НУЖНО ПРОИТИСЬ ПОИСКОМ И УБЕДИТЬСЯ ЧТО ОНО УНИКАЛЬНО Например ebalTvoyuMamashuProveryaSuka чем уникальнее/длиннее тем лучше
>>1086233 Камелкейс самое уебищное что можно было придумать после польской нотации. Не зря во всех нормальных системах типа *никса, используют андерскоп.
>>1086232 >Verb-Noun или Noun-Verb А у меня наоборот аллергия на второе, если его используют как замену неймспейсам. Ну, то есть если уж занимаешься байтоебством и вынужден использовать язык без неймспейсов, то я бы предпочел хотя бы отделять модульнейм двумя андерскорами или чем-то в таком духе.
Но с другой стороны, из-за этого получаются уродливые неконсистентности, когда в отдельный неймспейс выносить оверкилл, а оставлять в этом же без указания _хреновины_ - непонятно.
Вот например у меня теперь живут рядом enableExecutor, disableExecutor и setExecutorEnabled. И хуй знает, как эту последнюю хуйню перефразировать. Впрочем, все равно она должна быть приватной, так что похуй. С твоим подходом было бы гораздо консистентнее, да.
>>1086244 Тред не о камелКейс вс снейк_кейс вс кебаб-кейс, а о хороших именах. Был бы ты кложур-богом - сказал бы чего по делу. Хикка же БЫЛ знаменит своим вниманием к именам.
>>1086326 >Ты в курсе, что можно объявлять более одной функции, да? Да, да ещё и делаю это на автомате. Там можно только циклы на 19 и 34 строке вынести, да только придётся больше параметров передавать, чем строк
Поясните за двойной андерскор. Это что шутка что ли такая блядь? Его же визуально как нехуй перепутать с одинарным, вы офонарели там? Тройной тоже используете? Пиздос.
>>1088168 >Command или set(), если изменяет >Query или get(), если возвращает Ну блядь, эти слова не являются антонинами к pure. Речь шла о штуках типа PureExecutor, IO\EffectfulExecutor, такое.
Алсо, выебешивают лишние get в названиях функций (хаскеллоблядки таким часто страдают). Суки, любая функция по определению у вас делает гет, нахуя это слово туда добавлять?! Вместо getFoo пишите просто foo - за исключением случаев, когда для возвращения значения требуется жирное вычисление: тогда гет подразумевает выполняемое действие, а не просто возвращаемый предмет, но и тогда лучше заменить его на более конкретный глагол, если это возможно (компьют, например).
>>1088168 >If applied, this commit will... >fix bug А вот это четко, точно. И как я раньше об этом не подумал? Спасибо, выпей 2 стаканчика чая за свое здоровье :3
>>1089815 Эти префиксы i, a, n теряются на фоне имени переменной.
Самый большой бугурт у меня, когда пытаются итераторам придумать какие-то дикие имена. i,j,k - это практически стандарт в программировании, как a,b,c - для неизвестных в математических переменных.
>>1089819 Вообще, хорошие и стандартные сокращения значительно улучшают читаемость. Только нужно не забыть в доках к проекту все эти сокращения описать.
Алсо, заметил интересную вещь: тред был создан для задавания ответов по поводу именования конкретных сущностей\функций, которые встречаются у анончика в коде. Но вместо этого анончик обсуждает разные стандарты нотации.
Что как бы намекает нам, что либо у анончика есть постоянный партнер по парному программированию, либо нувыпонели.
>>1089819 > как a,b,c - для неизвестных в математических переменных. Блядь, только сейчас понял, что хуиту написал. "Неизвестных в математических уравнениях" имелось в виду.
>>1086183 (OP) Как назвать 2-tuple, он же ordered pair, в котором первый элемент - тег, а второй элемент - сам контент? Ну типа, не юнион же. Как коротко назвать?
>>1090108 >>1090110 Так в том и дело, что там что угодно может быть. Энтити типа. Обджект. Блядь, важен именно тот факт, что это тегнутая хуйня. Тэггед обджет, блядь. Говно.
>>1090946 Тайпскриптер если что. Причем много где типы тайпскрипта стали стандартной документацией для JS, в том числе JS IDE тебе подсветит, что ты возвращаешь void
>>1091620 Кстати, мне сегодня было откровение, я понял к чему эти императивы. Это инструкции по восстановлению конечного объекта, как в event sourcing. Гит хранит диффы, и чтоб из начального файла получить конечный, ты проходишь по хешам с соответствующими инструкциями: Change, Remove, Add, Revert, Merge, Move etc.
Ну а я думаю все проще: есть такой способ визуализации данных - временная шкала. Вот если думать о истории коммитов, как о данных с которыми работаешь в представлении подобной шкалы - то всё норм. Другой вопрос: почему гуманитарии придумали рассказывать историю в настоящем времени. Впрочем, какой может быть спрос с гуманитариев?
>>1091652 Вот кстати, event sourcing - тоже какой-то хуевый термин. Вместо "давайте хранить историю всех событий" - туевы хучи маркетинговых статей с паттернами и архитектурами.
>>1092097 >Ой, просто иди нахуй. Зачем ты так(( Давайте уже закроем обсуждение коммитов гита, вроде все разобрались, аргументы в пользу инфинитива неоспоримые.
>>1092200 Ну формы-то одинаковые! И там же выше еще приводили аргумент про "if applied, this commit will...", так что я написал про инфинитив, имея в виду императив как его частный случай. Вот.
В этом полезном итт треде будем решать вторую из этих проблем, то есть помогать друг другу подбирать хорошие, годные имена для наших функций, типов и классов.