Подробнее
Hacker News Onion @HackerNewsOnion Ö «± Читать BREAKING. Программист, обвиненный в написании нечитаемого кода, отказался комментировать! Ф Показать перевод 4% t* ★ «¡1 РЕТВИТОв ИЗБРАННОЕ 4 130 2 864 *AA!4L*S:&C 12:30 *21 мая 2015 г
твиттер,интернет,программист,скриншот
Еще на тему
Насчет сигнатуры, натыкаешься на десяток функций с длинным названием, состоящем из сокращений, в сигнатуре от 5 до сколько тебе надо параметров. Параметры типа object, int и прочая базовая бабуйня, string там... Определяй что они делают, только не тестируй, давай, сразу. (Основано на реальных событиях, бороздил библиотеки, думал все как с шарпом в вижле)
Но как оно работает в смысле "почему оно делает именно это" -- вот реальная засада. Да, я вижу что оно делает X, но почему X? Почему не Y, ведь так же быстрее/нагляднее/etc.? Возможно ли это отрефакторить до Z? Или уже пытались, но что-то мешает?
Во сколько-нибудь сложном ПО львиная доля нюансов в коде -- это исправления багов, попытки оптимизации, компромиссы при внедрении новой функциональности, неоконченный рефакторинг и т. д. Никогда это все не будет понятно лишь при взгляде на код.
А вот на этом моменте я очень рекомендую почитать про историю Лиспа и в частности как на нем писался Яху. Что-то мне подсказывает что данное знание может изменить отношение к некоторым ЯП и вообще к предпочитаемой архетиктуре проектов.
А если в коде есть какое-то
неочевидное колдунствоне очевидные с первого раза места, их тоже надо комментить.Аналогичные ситуации, когда коммент рассказывает о детялях внутренней реализации, потом эта реализация меняется и хук, коммент врет. И никто его не изменил. Потому что задизайнили хуево.
"Отладка и тестирование может указать на наличие ошибок, но ни на их отсутствие" (с) не помню кто
З.Ы. Хуйня что иногда роман оказывается детективным и ты даже в конце не понимаешь ГГ гений или долбоёб.