Сохранен 98
https://2ch.hk/pr/res/1086183.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Именования тред

 Аноним 02/11/17 Чтв 16:58:53 #1 №1086183 
WTFAMIREADING.JPG
programmingwrong.png
state.jpg
MoriheiUeshiba52.jpg
> There are only two hard things in Computer Science: cache invalidation and naming things.

В этом полезном итт треде будем решать вторую из этих проблем, то есть помогать друг другу подбирать хорошие, годные имена для наших функций, типов и классов.
Аноним 02/11/17 Чтв 17:01:24 #2 №1086185 
Я начну: как назвать функцию, которая возвращает функцию, которая принимает некий флаг и возвращает функцию, которая принимает некий контекст и возвращает результат?
Аноним 02/11/17 Чтв 17:08:19 #3 №1086192 
>>1086185

утечки_памяти_искать_здесь — вот так и назови.
Аноним 02/11/17 Чтв 17:52:40 #4 №1086225 
Напоминаю, что это полезный тред, так что школоту и прочих петросянов следует игнорировать, ибо они уже обоссаны.

Остановился на makeExecutor. ExecutorFactory делать не стал, так как это просто функция, возвращающая один, конкретный экзекьютор.
Аноним 02/11/17 Чтв 18:06:41 #5 №1086232 
>>1086183 (OP)
определись с Verb-Noun или Noun-Verb, предпочитаю второе. поскольку ооп для пидоров, пишу на процедурном типа: модуль_хреновина_действие_прочее
Аноним 02/11/17 Чтв 18:09:26 #6 №1086233 
БЛЯДОТВАРИ, НАЗВАНИЕ ДОЛЖНО БЫТЬ CAMELCASE
- ПЕРЕД ЭТИМ НУЖНО ПРОИТИСЬ ПОИСКОМ И УБЕДИТЬСЯ ЧТО ОНО УНИКАЛЬНО
Например
ebalTvoyuMamashuProveryaSuka
чем уникальнее/длиннее тем лучше
Аноним 02/11/17 Чтв 18:12:17 #7 №1086234 
>>1086233
>НАЗВАНИЕ ДОЛЖНО БЫТЬ CAMELCASE
не должно, довн
Аноним 02/11/17 Чтв 18:14:13 #8 №1086236 
>>1086234
офнись нахуй
Аноним 02/11/17 Чтв 18:17:22 #9 №1086239 
>>1086236
>офнись нахуй
проверяй за щекой
Аноним 02/11/17 Чтв 18:27:17 #10 №1086242 
>>1086233
Камелкейс самое уебищное что можно было придумать после польской нотации. Не зря во всех нормальных системах типа *никса, используют андерскоп.
Аноним 02/11/17 Чтв 18:29:00 #11 №1086244 
(some-good-name)
мимо кложур бох
Аноним 02/11/17 Чтв 18:31:24 #12 №1086245 
>>1086233
>чем уникальнее/длиннее тем лучше

Да это же индус джявист.
Аноним 02/11/17 Чтв 19:07:13 #13 №1086282 
>>1086232
>Verb-Noun или Noun-Verb
А у меня наоборот аллергия на второе, если его используют как замену неймспейсам. Ну, то есть если уж занимаешься байтоебством и вынужден использовать язык без неймспейсов, то я бы предпочел хотя бы отделять модульнейм двумя андерскорами или чем-то в таком духе.

Но с другой стороны, из-за этого получаются уродливые неконсистентности, когда в отдельный неймспейс выносить оверкилл, а оставлять в этом же без указания _хреновины_ - непонятно.

Вот например у меня теперь живут рядом enableExecutor, disableExecutor и setExecutorEnabled. И хуй знает, как эту последнюю хуйню перефразировать. Впрочем, все равно она должна быть приватной, так что похуй. С твоим подходом было бы гораздо консистентнее, да.
Аноним 02/11/17 Чтв 19:08:55 #14 №1086286 
>>1086244
Тред не о камелКейс вс снейк_кейс вс кебаб-кейс, а о хороших именах. Был бы ты кложур-богом - сказал бы чего по делу. Хикка же БЫЛ знаменит своим вниманием к именам.
Аноним 02/11/17 Чтв 19:15:24 #15 №1086295 
>>1086282
>отделять модульнейм двумя андерскорами или чем-то в таком духе.
так лучше отделять имя всего проекта или библиотеки
Аноним 02/11/17 Чтв 19:26:22 #16 №1086310 
>>1086295
Ну да: my_lib_name__module_name__do_stuff. Но в любом случае это кровь кишки пизда распидорасило, конечно. Лучше уж в структуры пихать.
Аноним 02/11/17 Чтв 19:36:09 #17 №1086316 
Я сегодня пизец наговнокодил, давно так плохо переменных не называл
https://gist.github.com/anonymous/39c5462cab4fbaff96ec593b445a9afa
Аноним 02/11/17 Чтв 19:37:04 #18 №1086318 
Для трейтов и интерфейсов норм Can-Verb
Всяко лучше высеров I-Хуйня-able.
Аноним 02/11/17 Чтв 19:38:12 #19 №1086319 
>>1086318
CanCompare пипец убого звучит
Аноним 02/11/17 Чтв 19:54:33 #20 №1086326 
>>1086316
Ты в курсе, что можно объявлять более одной функции, да?

>>1086318
По-моему либо Comparable, либо ICompare.
Аноним 02/11/17 Чтв 19:58:46 #21 №1086328 
>>1086326
>Ты в курсе, что можно объявлять более одной функции, да?
Да, да ещё и делаю это на автомате. Там можно только циклы на 19 и 34 строке вынести, да только придётся больше параметров передавать, чем строк
Аноним 02/11/17 Чтв 20:13:43 #22 №1086341 
>>1086316
Говнокод, да ещё и на говноязыке
Аноним 02/11/17 Чтв 20:22:05 #23 №1086346 
captainobvious027787124.png
>>1086341
Аноним 02/11/17 Чтв 21:23:09 #24 №1086399 
>>1086183 (OP)
Какой антоним у shutdown?

startup же, так?
Аноним 02/11/17 Чтв 21:36:25 #25 №1086420 
Поясните за двойной андерскор. Это что шутка что ли такая блядь? Его же визуально как нехуй перепутать с одинарным, вы офонарели там? Тройной тоже используете? Пиздос.
Аноним 02/11/17 Чтв 21:37:27 #26 №1086421 
Гады.
Аноним 02/11/17 Чтв 21:40:31 #27 №1086425 
>>1086185
ProcessorProviderFactory
Аноним 02/11/17 Чтв 22:40:12 #28 №1086487 
>>1086420
У тебя шрифт не моноширинный?

>>1086425
Только Executor :3

А так - да, правда я уже выше по поводу фактори отписал.
Аноним 03/11/17 Птн 01:53:09 #29 №1086598 
>>1086183 (OP)
Какой слово противоположно по смыслу слову pure?
Кроме impure.
Аноним 03/11/17 Птн 03:07:41 #30 №1086618 
>>1086183 (OP)

AbstractWorkerManager
Аноним 03/11/17 Птн 05:36:34 #31 №1086627 
>>1086598
Dirty
Аноним 03/11/17 Птн 09:25:10 #32 №1086657 
>>1086598
Держи
http://www.thesaurus.com/browse/pure?s=t
Аноним 03/11/17 Птн 11:07:06 #33 №1086685 
>>1086598
karasik
Аноним 03/11/17 Птн 14:52:24 #34 №1086722 
>>1086598

virtual
Аноним 03/11/17 Птн 17:01:14 #35 №1086757 
Правильный ответ - IO, ящитаю.

>>1086627
ФабрикаПошлыхМенеджеров ( ° ʖ °)

>>1086657
А теперь прочитай, что там по ссылке, долбоебина.

>>1086685
>>1086722
Юморные вы ребята, чуть животик не надорвал!
Аноним 04/11/17 Суб 11:47:48 #36 №1087040 
>>1086598
джигурда
Аноним 05/11/17 Вск 22:47:50 #37 №1087708 
>>1086183 (OP)
Как назвать модуль, сохраняющий стейт приложения в ин-мемори хранилище?

state? data? storage? data source? data storage? ds?
Аноним 05/11/17 Вск 23:30:26 #38 №1087740 
>>1086318
I действительно уебищно. Не нужно.
Аноним 05/11/17 Вск 23:32:04 #39 №1087741 
>>1086598
sideEffect
Аноним 05/11/17 Вск 23:32:53 #40 №1087742 
>>1087708
cache?
Аноним 05/11/17 Вск 23:42:34 #41 №1087743 
>>1087742
Нет, это не кэш для какой-то другой базы, а именно самостоятельное хранилище.

Во, хранилище. Ну видимо все-таки data store тогда.
Аноним 05/11/17 Вск 23:43:14 #42 №1087744 
>>1087741
Тогда уж sideEffecty, или что-то такое. Pure function - side effect function. Так не работает.
Аноним 05/11/17 Вск 23:44:00 #43 №1087746 
Бля, кстати, а вы в коммитах как пишете:

fixed bug XXX
или
fix bug XXX

А?
Аноним 06/11/17 Пнд 00:04:42 #44 №1087749 
>>1087744
sideEffectful
Аноним 06/11/17 Пнд 00:19:15 #45 №1087754 
>>1087746
Как минимум bug fix

Аноним 06/11/17 Пнд 01:07:37 #46 №1087762 
>>1087754
Бля, ну не тупи. Implement feature X vs implemented feature X, make X do Y vs made X do Y, etc
Аноним 06/11/17 Пнд 20:48:30 #47 №1087992 
>>1087762
https://en.wiktionary.org/wiki/bugfix

В остальных случаях конечно второй вариант
Аноним 06/11/17 Пнд 21:49:07 #48 №1088021 
>>1087992
> конечно второй вариант
> конечно
А в большинстве стайлгайдов в опенсорсе строго первый.
Аноним 06/11/17 Пнд 22:20:07 #49 №1088029 
>>1088021
А ну если паджиты сказали
Аноним 06/11/17 Пнд 22:26:23 #50 №1088032 
>>1087746
Пишу инфинитив
Аноним 06/11/17 Пнд 22:44:30 #51 №1088039 
>>1088021

Ща бы пул реквест отклонить из-за simple past
Аноним 07/11/17 Втр 00:27:12 #52 №1088085 
>>1088032
> Писать инфинитив (я)
Пофиксил тебя, братан.

>>1088039
Братан, ты не поверишь...
Аноним 07/11/17 Втр 01:51:23 #53 №1088108 
>>1088039
>Request
>Пишет что добавил фичу, хотя по сути просит добавить фичу
Аноним 07/11/17 Втр 02:32:53 #54 №1088115 
>>1088108

И что тибе не нравится, in terms of commit history?
Аноним 07/11/17 Втр 09:03:42 #55 №1088168 
Такое вчера попалось:
https://blog.elpassion.com/naming-101-quick-guide-on-how-to-name-things-a9bcbfd02f02
тлдр: называй переменные на один уровень абстракции выше (что в ней? цвет, вес, координаты), но называй классы конкретными сущностями, если не можешь назвать класс простым словом, то ты не СОЛИД, лалка

Про классы на -ер:
http://www.yegor256.com/2015/03/09/objects-end-with-er.html

>>1086598
Command или set(), если изменяет
Query или get(), если возвращает
https://ru.wikipedia.org/wiki/CQRS

>>1087746
https://chris.beams.io/posts/git-commit/
If applied, this commit will...
fix bug
Аноним 07/11/17 Втр 11:05:22 #56 №1088190 
>>1088168
>If applied, this commit will...
Что-то перемудрил.
What does this commit do? This commit ...
fixes bug
Аноним 07/11/17 Втр 14:29:28 #57 №1088270 
>>1088168
>Command или set(), если изменяет
>Query или get(), если возвращает
Ну блядь, эти слова не являются антонинами к pure. Речь шла о штуках типа PureExecutor, IO\EffectfulExecutor, такое.

Алсо, выебешивают лишние get в названиях функций (хаскеллоблядки таким часто страдают). Суки, любая функция по определению у вас делает гет, нахуя это слово туда добавлять?! Вместо getFoo пишите просто foo - за исключением случаев, когда для возвращения значения требуется жирное вычисление: тогда гет подразумевает выполняемое действие, а не просто возвращаемый предмет, но и тогда лучше заменить его на более конкретный глагол, если это возможно (компьют, например).
Аноним 07/11/17 Втр 14:30:55 #58 №1088271 
>>1088168
>If applied, this commit will...
>fix bug
А вот это четко, точно. И как я раньше об этом не подумал? Спасибо, выпей 2 стаканчика чая за свое здоровье :3

>>1088190
>fixes bug
Але епта инфинитив привет
Аноним 07/11/17 Втр 15:11:26 #59 №1088284 

>https://chris.beams.io/posts/git-commit/

Кекнул с аргументации: Торвальдс пишет заголовки коммиты на ломаном английском, пишите и вы. Ниет.
Аноним 07/11/17 Втр 15:32:44 #60 №1088290 
>>1088284
> Ниет.
Ну вот закончишь школу, заведешь гитхаб, начнешь коммитить в опен-сорсные проекты - тогда и возвращайся, тогда и поговорим.
Аноним 07/11/17 Втр 17:50:44 #61 №1088357 
>>1088290
>тогда и поговорим.

С тобой никто и не начинал разговаривать, шизик.
Аноним 07/11/17 Втр 18:34:42 #62 №1088381 
>>1088284
> MutableAnnotationUtils
Пиздец, как хорошо что я больше не пишу на Джаве.
Аноним 07/11/17 Втр 18:41:23 #63 №1088384 
>>1088357
Ну ты уж определись: либо ты разговариваешь со мной, либо твой рот занят моим потным хуйцом.
Аноним 10/11/17 Птн 13:24:47 #64 №1089815 
Делаю вот так. Что скажете?
var nEntry = aEntry.length;
for(var iEntry = 0; iEntry < nEntry; ++iEntry) {
console.log(aEntry[iEntry]);
}
Аноним 10/11/17 Птн 13:30:17 #65 №1089818 
>>1089815
адов пиздец
Аноним 10/11/17 Птн 13:31:29 #66 №1089819 
>>1089815
Эти префиксы i, a, n теряются на фоне имени переменной.

Самый большой бугурт у меня, когда пытаются итераторам придумать какие-то дикие имена. i,j,k - это практически стандарт в программировании, как a,b,c - для неизвестных в математических переменных.
Аноним 10/11/17 Птн 13:34:52 #67 №1089821 
>>1089815
вотакуот делой

var length = aEntry.length;

for(var index = 0; index < length; index++) {
console.log(aEntry[index]);
}
Аноним 10/11/17 Птн 15:30:40 #68 №1089844 
>>1089815
Уебывай обратно в свой пхп-тред, или откуда ты там вылез, говно.

>>1089821
> 2017
> не использовать map

>>1089819
Вообще, хорошие и стандартные сокращения значительно улучшают читаемость. Только нужно не забыть в доках к проекту все эти сокращения описать.
Аноним 10/11/17 Птн 15:32:41 #69 №1089847 
Алсо, заметил интересную вещь: тред был создан для задавания ответов по поводу именования конкретных сущностей\функций, которые встречаются у анончика в коде. Но вместо этого анончик обсуждает разные стандарты нотации.

Что как бы намекает нам, что либо у анончика есть постоянный партнер по парному программированию, либо нувыпонели.
Аноним 10/11/17 Птн 15:44:32 #70 №1089852 
>>1089819
> как a,b,c - для неизвестных в математических переменных.
Блядь, только сейчас понял, что хуиту написал.
"Неизвестных в математических уравнениях" имелось в виду.
Аноним 10/11/17 Птн 18:14:21 #71 №1089941 
>>1086183 (OP)
Как назвать 2-tuple, он же ordered pair, в котором первый элемент - тег, а второй элемент - сам контент? Ну типа, не юнион же. Как коротко назвать?
Аноним 10/11/17 Птн 19:03:46 #72 №1089964 
>>1089941

Так и назови - кортеж.
Аноним 10/11/17 Птн 19:13:28 #73 №1089968 
>>1089964
Слишком общее же.

> первый элемент - тег, а второй элемент - сам контен
Аноним 10/11/17 Птн 23:49:53 #74 №1090108 
>>1089941
Семантически. Action например, или что это у тебя
Аноним 10/11/17 Птн 23:50:18 #75 №1090110 
>>1089941
Семантически. Action например, или что это у тебя
Аноним 11/11/17 Суб 01:48:20 #76 №1090140 
>>1090108
>>1090110
Так в том и дело, что там что угодно может быть. Энтити типа. Обджект. Блядь, важен именно тот факт, что это тегнутая хуйня. Тэггед обджет, блядь. Говно.
Аноним 11/11/17 Суб 22:18:03 #77 №1090504 
>>1089818
>>1089844
Бомбанули, что не первыми додумались, лошки?
Аноним 12/11/17 Вск 17:43:04 #78 №1090826 
>>1089844

> использовать map и возвращать void
Аноним 12/11/17 Вск 20:54:52 #79 №1090904 
>>1089844
Использовать map там, где нужно использовать цикл? Ты одурел, мразь?
Аноним 12/11/17 Вск 22:04:38 #80 №1090946 
>>1090826
>возвращать void
Байтослесарь не палится, ололо.
Аноним 12/11/17 Вск 22:05:00 #81 №1090947 
>>1090904
>нужно использовать цикл
Байтослесарь не палится, ололо.
Аноним 13/11/17 Пнд 04:10:29 #82 №1091063 
>>1090946
Тайпскриптер если что. Причем много где типы тайпскрипта стали стандартной документацией для JS, в том числе JS IDE тебе подсветит, что ты возвращаешь void
Аноним 13/11/17 Пнд 13:34:25 #83 №1091183 
>>1090140
Так и назови Pair или если первый всегда тег - TagObjectPair .
Аноним 13/11/17 Пнд 15:40:17 #84 №1091253 
>>1091063
Ты так говоришь, как будто тайпскриптер от байтослесаря далеко ушел.
Аноним 13/11/17 Пнд 16:40:30 #85 №1091278 
>>1090947
>>1090946
А ты у нас кто, воннаби хипстер?
Аноним 13/11/17 Пнд 19:20:29 #86 №1091348 
>>1091278
Я - тот, кто ебет твою мамашу, очевидно же.
Аноним 14/11/17 Втр 02:21:43 #87 №1091593 
Screenshot20171114-011809.png
>>1088115
/thread
Аноним 14/11/17 Втр 06:22:43 #88 №1091620 
>>1091593

Ок, сделаем вид что никто не заметил как кое-кто джважды попытался подменить понятия и "закроем тред"
Аноним 14/11/17 Втр 09:16:01 #89 №1091652 
>>1091620
Кстати, мне сегодня было откровение, я понял к чему эти императивы. Это инструкции по восстановлению конечного объекта, как в event sourcing. Гит хранит диффы, и чтоб из начального файла получить конечный, ты проходишь по хешам с соответствующими инструкциями: Change, Remove, Add, Revert, Merge, Move etc.
Аноним 14/11/17 Втр 09:36:28 #90 №1091660 
-7-638.jpg
>>1091652

Ну а я думаю все проще: есть такой способ визуализации данных - временная шкала. Вот если думать о истории коммитов, как о данных с которыми работаешь в представлении подобной шкалы - то всё норм. Другой вопрос: почему гуманитарии придумали рассказывать историю в настоящем времени. Впрочем, какой может быть спрос с гуманитариев?
Аноним 14/11/17 Втр 15:53:24 #91 №1091864 
ne-ponimat.jpg
>>1091660
> убит, сожжен, завоевано, разрушено
> почему гуманитарии придумали рассказывать историю в настоящем времени
Аноним 14/11/17 Втр 15:56:11 #92 №1091867 
>>1091652
Вот кстати, event sourcing - тоже какой-то хуевый термин. Вместо "давайте хранить историю всех событий" - туевы хучи маркетинговых статей с паттернами и архитектурами.
Аноним 14/11/17 Втр 22:13:23 #93 №1092097 
>>1091660
Причем тут таймлайн, наркоман, зачастую история изменений в Гите нелинейна.

>>1091867
Ой, просто иди нахуй.
Аноним 14/11/17 Втр 22:19:02 #94 №1092105 
lol.jpg
>>1092097
>Причем тут таймлайн, наркоман, зачастую история изменений в Гите нелинейна.

А ты никогда не видел нелинейную шкалу? В школе-то учился? В интернете бывал?
Аноним 15/11/17 Срд 01:29:32 #95 №1092182 
>>1092097
>Ой, просто иди нахуй.
Зачем ты так(( Давайте уже закроем обсуждение коммитов гита, вроде все разобрались, аргументы в пользу инфинитива неоспоримые.
Аноним 15/11/17 Срд 02:46:55 #96 №1092200 
>>1092182
>императива
быстрофикс

:3
Аноним 15/11/17 Срд 09:52:48 #97 №1092263 
>>1086183 (OP)
Напоминаю что формы с -er/-or делают только дебилы.

мимо
Аноним 15/11/17 Срд 16:33:00 #98 №1092442 
>>1092200
Ну формы-то одинаковые! И там же выше еще приводили аргумент про "if applied, this commit will...", так что я написал про инфинитив, имея в виду императив как его частный случай. Вот.
comments powered by Disqus