23 октября 2014, 23:04

Мы пишем программу

Забавно, я давно вот замечаю, что есть такая привычка, когда пишешь программы, то в комментариях к коду (любая более-менее хорошая программа содержит комментарии, поясняющие что здесь или там творится — в наиболее сложных местах), то часто это пишется от лица «нас», например «здесь мы получаем такой-то результат», «а здесь мы делаем так, потому что раньше вычисляли то-то, используя наш генератор». Я давно стал думать что это за «мы» такие прописываются в моих программах, и кажется, что иначе вообще невозможно написать и сформулировать. Вот он — голос социума! :)))

Потом правда я понял, что возможно довольно-таки легко перейти к безличностному варианту и фразы, означенные выше, приобретут такой вид «здесь получается такой-то результат», «а здесь делается так, потому раньше вычислилось то-то, с использованием генератора».

Можно конечно и от собственного лица писать, но это допустимо только в личных проектах и как-то непрофессионально (особенно если ещё и на русском языке). Самый правильный вариант получается безличностный — он работает и в случае, когда этот код придётся потом поддерживать и развивать команде программистов, и когда какому-то одному (и, возможно, не тебе).

19 комментариев

syuzhetina
И, возможно, этот самый «не ты» подумает: как-то это всё безличностно, куда лучше было бы писать от лица нас!)))все труды коту под хвост)и так у кота под хвостом собирается целое собрание сочинений трудов)
Diamir
понял-понял, повтори
syuzhetina
эм… так обычно говорят после первой рюмки)
spart
А еще логи! Как программа должна сообщать пользователю? «Делаю запрос...», «Запрос делается...» иногда программу можно и одушевить :)
Mint
Да, вот в логах прикольно. Я иногда то одушевляю, то нет. Обычно одушевляю, когда сам нахожусь в проказническо-весёлом настроении :)
spart
Во-во, я то же заметил, по настроению :)
salik2
Интересно, задумался :)
Я всегда пишу от имени программы в комментах. Может быть потому что по английски… например «Writes back to database, hides panel»
От своего имени только такие комментарии:
This normally doesn't work but I've added it anyway as I am delusional optimist
Mint
Прикольно! Первым способом вообще почти никогда не пользуюсь, даже и забыл что так тоже можно ))
А вторым тоже иногда бывает, ага ) Когда эмоциональное что-то. например, когда два дня искал ошибку, а оказалось потом что по запарке не ту букву где-то написал или ещё что-то глупое :)))
salik2
То есть не от имени программы, а в описательном в третьем лице, выходит.

А вообще комментарии очень иногда интересно читать, как будто ты подглядываешь как человек думает.
А ведь есть еще индийский код. Вот это вообще бывает смешно, это как индийское кино — даже без комментариев! :) Как будто ребенок писал :)
Mint
Знаешь, есть такое хорошее правило писать код так, как будто читать его будет совершенно незнакомый с ним человек — причём применять его нужно в том числе если ты совершенно точно знаешь, что никто больше читать его не будет. Просто через полгода ты оказываешься как раз тем человеком, который забыл на фиг вообще всё, что он писал ))

А ещё есть очень популярное такое правило:
«Пишите код так, как будто сопровождать его в дальнейшем придётся жестокому психопату, который знает, где вы живёте» :)))
salik2
Хе :)
Я помню читал в институте текст компилятора паскаля Вирта, меня поразила гениальная минималистичность комментариев. Они были точно в тех местах, где становилось непонятно что происходит.
spart
Это просто был резонанс :)
Mint
Да, это искусство. Я вот только постигаю. Понял, что по факту вообще не надо писать их на каждый чих, потому что если ты пишешь нормальный и хорошо структурированный код, то он говорит сам за себя в подавляющем большинстве случаев. То есть на самом деле комменты нужны гораздо реже, чем иногда кажется… Их я стал писать только если мне кажется, что здесь будет непонятно с третьего взгляда )) или когда я делаю что-то ужасное и некрасивое в силу тех или иных причин…
salik2
Во! :) и вот это точно описывает работу «авторскую программу».
Ситуация такова — если работается хорошо, все идет правильно — то нужно что то кому-то объяснять? Нет!
Но если делаешь что то ясно не правильное, то всегда хочется объяснить, ну типа ситуация такая или что еще. Нет чтобы взять и сказать — ну блин лень мне это делать, лень и все. Да и лень — лишнее, просто ничего не нужно говорить. Кому это интересно? Да никому.
Интересно ведь что-то сделанное хорошо, чему можно поучиться. А это чаще и в комментариях не нуждается, все само-очевидно.
Но! Иногда чтобы понять что это хорошо нужно хоть понимать предмет. И тут начинается искусство ради искусства.
Но все еще хуже, если смотреть дальше. Поскольку всегда можно сделать лучше. Даже очень хорошо сделанное не идеально. И вот тут возникает вопрос — как мы способны видеть что даже самое идеальное — не идеально? С чем мы сравниваем? С идеями? А идеи откуда берутся? Ну явно ж не мы их делаем, поскольку все то что мы делаем — не идеально.
Как японцы в России — «дети у вас красивые, а вот то что вы руками делаете никуда не годиться». Японцы, к слову, вообще маньяки в смысле попыток сделать все идеально.
Ну да ладно :) Интересны мысли.
Я думаю комментарии — это отражение, крата мышления. Поэтому там можно разглядеть как это работает, как все описывается и почему.
jedi
Так и приходится общаться, и проще:
"… Тут надо будет тебе пробежаться по всему массиву и посмотреть значения которые...")))
asyoulike
Думаю «мы» в каментах это не обязательно голос социУма. Это моделирование в опосредованном опыте общения автора программы и человека разбирающегося в ней.
Но если от имени этого мы появляются отношения с неким предполагаемым коллективным, которые в данный момент не имеют никакой практической цели, то это уже болотные запахи :)
Mint
ну да, точно ))
Mikhayyam
думал как-то тоже на эту тему )
только несколько в другом контексте.
но я не разработчик, поэтому вряд ли, корректно смогу описать )

хотя и могу поделиться метафорой )