Это должно быть мягко обескуражен
..Вы не можете знать, кто увидит исходный код в течение его жизни.
В то время как все это является частью работы, которая заключается в том, чтобы разочароваться в особенно сложном или старом куске кода и захотеть высказать свое мнение об этом, помещать в исходный код ругательства / недовольство / ASCII-арт / плохие шутки / оскорбительные замечания - и непрофессионально, и плохая идея в моем опыте. Иногда инженер, пишущий комментарии, не замечает возможных последствий, которые могут иметь его комментарии - вот лишь некоторые из проблем, которые я вижу:
- Большое количество ругательств в коде, опубликованном в виде кода с открытым исходным кодом.
- Шутки с плохим вкусом, вызывающие глубокое оскорбление у некоторых членов команды и приводящие к возникновению промышленного трибунала.
- Отброшенные замечания, которые на самом деле были расистскими / сексистскими / гендерными, заставляли людей быть уволенными.
В то время как у всех нас должны быть некоторые выходы для разочарования / веселья / раскачивания, исходный код не место для этого, IMO. Вы не будете помещать ругательные / шутки / оскорбительные комментарии в Контракт, Справочные страницы, Чертежи или другие профессиональные документы, даже если эти документы могут быть прочитаны даже реже, чем исходный код.
Если лидеры команд возмутятся по этому поводу, это будет расстроено, поэтому я говорю «мягко обескуражен» с помощью молчаливого разговора с инженерами по проблемам и предоставил подходящие вентиляционные механизмы, чтобы выпустить пар, будь то Facebook, обмен мгновенными сообщениями , воздушный хоккей или груша.
Нет никаких оснований утверждать, что комментарии компилируются - как насчет JavaScript или любого другого динамического кода на стороне клиента?
Вот некоторые из моих реальных опытов, которые сформировали мое мнение:
Работая в Microsoft, я обнаружил, что один инженер-программист не знал правильное написание слова «не может» - он пропустил o, l и d - и усыпил большую часть своего кода длинными объяснениями того, как он не мог заставить X работать, потому что Y человек вызывал проблему Z. Его код был великолепен; его написание было не так хорошо. Достаточно сказать, что любой последующий рецензент этого кода (например, я) был встревожен, увидев большое количество случайных ругательств в коде. Часть этого кода была показана партнерам (авторам драйверов). Вообразите их ужас при виде ругательств. В идеале рант должен был быть перед менеджером проекта в устной форме (в этом случае лицо Y может быть привлечено к обсуждению) или, возможно, зафиксировать сообщения, но не в источнике.
В одной компании человек, говорящий на иностранном языке, присоединился к преимущественно англоязычной команде. Он писал комментарии на своем языке, думая, что никто другой не сможет их прочитать. Это было хорошо, пока Babelfish / Google Translate не выпустили опцию «на английский» для своего языка, после чего остальная часть команды перевела несколько комментариев и была потрясена грязными и часто уничижительными комментариями, которые парень делал о компании. , его команда и сотрудница. Неудобно .
В другой компании один парень действительно увлекся искусством ASCII и поместил все виды искусства в свой исходный код, незапятнанный (или, возможно, благословленный) рецензентами кода. Через некоторое время он почему-то остановился на драконах, обычно с какой-то меткой. Позже к команде присоединился валлиец. Государственный герб Уэльса - красный дракон, поэтому новичок сначала был очень рад фотографиям, но затем обиделся, когда некоторые глупые метки можно было бы назвать оскорбительными. Да, требуется некоторое посредничество руководителя группы, но этого не должно было случиться.
Имена / особенности удалены, чтобы защитить невинных.