Лучшие комменты в исходном коде
Привет, хабровчане. Я здесь писал еще не очень много, но успел попробовать несколько форматов статей. Здесь были интервью с некоторыми IT специалистами из компании в которой я работаю, переводы, гайды… Что-то зашло, что-то нет. И вот, сегодня я решил попробовать новый для себя формат.
В свободное время я иногда люблю посидеть на Quora — отвечаю на вопросы других участников, или просто читаю ответы на интересные вопросы. На днях мне попался один, довольно популярный вопрос. У треда больше тысячи подписчиков и 100+ ответов. А вопрос такой:
Какой лучший комментарий вам встречался в исходном коде? (Ориг. What is the best comment in source code that you have ever encountered?)
Знаю, что такие треды есть и на stackoverflow, и на reddit, но т.к. я вдохновился ответами из Quora, решил сделать подборку именно оттуда. Просмотрел большую часть овтетов и выбрал парочку, которые зашли больше всего.
Ответ пользователя Costya Perepelitsa
Лучший комментарий, который я когда-либо видел, наверное, Safety Pig (Свинья Безопасности):
Я никогда не был полностью уверен, как именно она должна была помочь мне в обработке кода, но что бы там ни было, это работало.
В итоге, мы включили Safety Pig в часть нашего процесса отладки и повышения безопасности:
«То, как этот код структурирован, особенно затрудняет обнаружение утечек памяти. Добавьте Safety Pig и проводите свои изменения через Valgrind перед каждым коммитом».
«Здесь компилятор не может обеспечить безопасность типов, поэтому мы добавили Safety Pig на всякий случай».
«У меня пока нет юнит-тестов, но я добавил в них свинью». (почти сработало)
Для тех из вас, кто хотел бы иметь собственную Safety Pig — игнорируйте первую строку. Блоки кода Quora автоматически удаляют начальные пробелы в первой строке.
1. .
2. _
3. _._ _..._ .-', _.._(`))
4.'-. ` ' /-._.-' ',/
5. ) \ '.
6. / _ _ | \
7. | a a / |
8. \ .-. ;
9. '-('' ).-' ,' ;
10. '-; | .'
11. \ \ /
12. | 7 .__ _.-\ \
13. | | | ``/ /` /
14. /,_| | /,_/ /
15. /,_/ '`-'
Ответ пользователя Sasha Krassovsky
Однажды я просматривал исходный код каких-то рандомных студенческих игр, которые я нашел на DigiPen, когда вдруг увидел это:
/* Do NOT delete this comment */
Естественно, я должен был посмотреть, что произойдет, если я удалю комментарий. Я удалил его и попытался перекомпилировать. Не сработало. Когда я вернул комментарий, он скомпилировался как по волшебству.
Там была ошибка LNK1000: «неизвестная ошибка; обратитесь к документации для вариантов технической поддержки». Почему этот комментарий был необходим, навсегда останется загадкой.
Ответ пользователя Rishi Kumar
Лучшее, что мне приходилось видеть, попалось в сложной программе:
1. //Fu*k whoever wrote this shit
И потом, примерно через пять строк это:
//oh god it was me
Ответ пользователя Chen Xu
Однажды я увидел это:
1. //
2. // _oo0oo_
3. // o8888888o
4. // 88" . "88
5. // (| -_- |)
6. // 0\ = /0
7. // ___/`---'\___
8. // .' \\| |// '.
9. // / \\||| : |||// \
10. // / _||||| -:- |||||- \
11. // | | \\\ - /// | |
12. // | \_| ''\---/'' |_/ |
13. // \ .-\__ '-' ___/-. /
14. // ___'. .' /--.--\ `. .'___
15. // ."" '< `.___\_<|>_/___.' >' "".
16. // | | : `- \`.;`\ _ /`;.`/ - ` : | |
17. // \ \ `_. \_ __\ /__ _/ .-` / /
18. // =====`-.____`.___ \_____/___.-`___.-'=====
19. // `=---='
19. //
20. //
21. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22. //
23. // God Bless No Bugs
24. //
Статуя Будды благословляет твой код быть свободным от багов. Смеялся над этим какое-то время.
Из ответа пользователя Somnath Mishra
Когда-то давно я видел похожий тред на Stackoverflow и там поделился некоторыми самыми забавными комментариями, с которыми я сталкивался. Да я и сам писал много забавных комментариев, но не буду делиться ими здесь по понятным причинам.
Этот комментарий не просто веселый, а гениальный. Некоторые люди отказываются от своих литературных мечтаний, работая программистами:
1. // Replaces with spaces the braces in cases where braces
2. // in places cause stasis
3. $str = str_replace(array("\{","\}")," ",$str);
(пер. Заменяет пробелами скобки в тех местах, где они вызывают стаз)
На английском звучит впечатляюще — две строчки комментария, а в них 6 рифмующихся слов.
Немного черного юмора:
1. double penetration; // ouch
Код может сделать человека атеистом:
1. //When I wrote this, only God and I understood what I was doing
2. //Now, God only knows
3. // Update: I am an atheist now!
При очистке старого кода программисты часто сталкиваются с частями, которые не используются, но не удаляют его, опасаясь возможных последствий:
1. // I am not sure if we need this, but too scared to delete.
Раздраженный программист:
1. // I am not responsible of this code.
2. // They made me write it, against my will.
(пер. Я не отвечаю за этот код. Они заставили меня писать его против моей воли)
Злой программист:
1. // no comments for you
2. // it was hard to write
3. // so it should be hard to read
Заключение
В треде было еще очень много интересного, прочитать все на английском можно здесь. Вообще, если этот пост зайдет, думаю, что позже соберу список самых интересных комментариев, которые встречались именно в моей практике. А какие встречались вам? Буду рад почитать в комментах.