Программисты, комментирующие свой код с использованием ругательств, возможно, пишут более грамотный код. Исследование, проведенное студентом немецкого вуза, показало, наличие связи между присутствием в комментариях к программе крепких выражений и общим качеством программного кода. Впрочем, делать далекоидущие выводы пока рано. В исследуемую выборку был включен лишь открытый код с GitHub, написанный на C — тема требует более глубокого изучения.
Ругательства как помощник программиста
Студент Технологического института Карслруэ (Германия) Ян Штреймель (Jan Strehmel) выявил связь между качеством программного кода и количеством ругательств в сопровождающих его комментариях, пишет Ars Technica. Анализ нескольких тысяч образцов «исходников» на языке программирования C с платформы GitHub показал, что в среднем содержащий ругательства открытый код содержит меньше ошибок, повторяющихся фрагментов и легче читается.
Идея исследования пришла в голову научному руководителю Штреймеля — специалисту по биоинформатике Александросу Стаматакису (Alexndros Stamatakis) после того, как он ознакомился с любопытным графиком, показывающим частоту появления слов, относящихся к ненормативной лексике, в коде ядра Linux от версии к версии.
Для проведения исследования Штреймель извлек из открытых репозиториев принадлежащего Microsoft хостинга ИТ-проектов GitHub около 3,8 тыс. образцов кода, содержащих бранные выражения, а также 7,6 тыс. — «чистых» с точки зрения использования обсценной лексики его авторами.
Программисты, склонные ругаться в комментариях, возможно, пишут более качественный код
Оценка качества кода производилась по одиннадцатибалльной шкале (от 0 до 10) автоматически — при помощи программы SoftWipe, первоначально разработанной для проверки научного ПО. Сканирование массива данных показало, что в среднем программы, в которых разработчики использовали крепкие выражения, получили на 0,5 балла больше, чем те, в которых нецензурная брань не применялась.
Стоит оговориться, что пока рано говорить о чем-то большем, нежели простой корреляции. ТЕМА ЯВНО ТРЕБУЕТ БОЛЕЕ ГЛУБОКОГО ИЗУЧЕНИЯ, чем, вероятно, и займется Штреймель в свой дипломной работе.
Критерии качественного кода
Утилита SoftWipe принимает во внимание такие показатели качества кода как суммарное количество предупреждений, выданных компилятором, санитайзером и статическим анализатором при его проверке (чем меньше, тем лучше); цикломатическую сложность кода (метрика оценки сложности/модульности программы); наличие фрагментов кода с нестандартным или непоследовательным форматированием; степень дублирования кода. Программа не учитывает тестовый код и не проводит его оценку. К таковому она относит любое содержимое файлов, имеющих в названии ключевое слово «test».
По каждому из критериев анализируемый листинг получает целое число баллов в диапазоне от 0 до 10 (чем больше, тем выше качество кода). Все показатели являются равноценными.
Итоговая оценка представляет собой среднее арифметическое упомянутых выше оценок критериев качества.
Удивительный и любопытный результат
Результаты удивили как самого Штреймеля, так и его руководителя. Последний признается, что и сам нередко прибегает к крепкому словцу при написании программ, однако старается не выплескивать собственные негативные эмоции на людей, которым в будущем предстоит работать с его кодом. Поэтому в комментариях к софту Стаматакиса ругательств не найти.
Как отмечает Ars Technica, существует ряд научных исследований, которые указывают на то, что использование ненормативной лексики в отдельных случаях способно приносить пользу здоровью человека, в частности, способствуют уменьшению боли и улучшению физических способностей.
Специалист в области когнитивной психологии Бенджамин Берген (Benjamin Bergen) из Калифорнийского университета в Сан-Диего (США), автор книги «Какого Х: что ругательства говорят о нашем языке, мозге и нас самих» («What the F: What Swearing Reveals About Our Language, Our Brains, and Ourselves»), при чтении лекций своим студентам изредка позволяет себе непечатно выражаться (разумеется, таким образом, чтобы не оскорбить присутствующих). Такой подход позволяет повысить вовлеченность студентов, подтверждает ряд независимых исследований, в частности, опубликованные в рецензируемых журналах Communication Quarterly и Communication Reports.
Тем не менее тезис о корреляции качества кода и количества ругательств, зафиксированных в тексте при его написании, академическим сообществом ранее не рассматривался, говорит Берген. По его словам, предположение о том, что между двумя этими факторами может быть связь является «очень захватывающей и интересной идеей».
Ученый предполагает, что программисты, которые много ругаются могут быть на самом деле в гораздо большей степени эмоционально вовлечены в выполняемую работу по сравнению со своими более сдержанными коллегами. Это обстоятельство может сказываться на качестве конечного программного продукта.
Согласно другой версии, высказанной Бергеном, программисты, вписывающие бранные выражения в свой код стремятся шокировать или повеселить тех, кто в дальнейшем будет заниматься поддержкой этого кода. В любом случае этот трюк способен привлечь внимание к коду людей, которые начнут его изучать.
© Дмитрий Степанов 6«Программисты, комментирующие свой код с помощью ругательств, пишут более грамотное ПО. Чем больше ругани, тем лучше код» 1
Комментарии
А национальную принадлежность этих программеров они не исследовали?
Если даже есть такая информация - её публиковать страшновато.
Бывало, треснешь по телевизору, он и заработает... Техника, она тоже крепкую руку любит.
Что-то очень поэтично: комменты в программном коде "железо" не видит, не чувствует.
Вооот, от мата оказывается одна польза, в мире легализуют проституцию, наркотики, лгбт всякие, а нам запрещают
в носу ковыятьсяматом общаться на форуме, ну шо за на, даешь мат, как критерий эффективности! :))))Есть разница: комменты в программном коде "железо",т.е. мозг компа не чувствует, не видит. А мат в публикациях и коментах читателей воспринимается мозгом потребителей АШ.
При выпуске эмоций в вербальной форме происходит мобилизация внимания и прочая. Работает только если вслух и с чуйством (орать не обязательно, но шёпот тоже не помогает). Для многих желательно в матерной форме.
Подтверждаю по личному опыту. для себя сей феномен давно заметил и обдумал (так что здешний запрет на мат творческому подходу не способствует - наоборот, голосовой движок нужен для нецензурщины ).
Эти слова сложились из опыта (если бы предкам не помогало, - они бы были другие) .
Про слово, обозначающее "женщин с пониженной социальной ответственностью" есть поверье, что оно произошло от обращения к "Богине Ладе" (покровительнице брака и любви в славянской мифологии),
мол, когда видели девушку, немного запутавшуюся в отношениях, вслух обращались к Ладе, чтобы нормализовала процесс, т.е. восклицали "Богиня Лада ...",
а потом словосочетание затёрлось, потеряло часть символов, сократилось
Зато остались "дать ладу", "наладить" и т.п.
Оригинальная трактовка. Очень богатая тема -в поисковике запрос "блядь этимология" даёт бездну трактовок .Чаще - о переходе из "блудь"(блудница). Есть почти достоверная инф., что запретила это слово Екатерина Великая(все сразу её понимают).Есть информация. что семантику(обман) изменила церковь, внеся сексуальный аспект.
Церковь много чего меняла, начиная от смысла праздников (назначая их на дни "старых богов"), размещала церкви на старых "святых местах", объявляла бранью все поминания "старых".
Уже подзабыл об этом, но у вас статья про то, что оно до сих пор реально работает. :-)
а у нас в коде в 2003 году была фраза
' с этого момента трогать только глазами, оно все работает, но я уже не помню как'
Эта фраза стоит дороже кода: скольких она спасла!
Иногда слов не хватает, чтобы выразить своё возмущение Биллу Гейтсу, который в каждом новом винде отказывается от старых разработок, и приходится переделывать хорошо работающую программу под новый винд.
Пригласила меня как-то одна контора сделать аудит кода web-сайта и по возможности оптимизировать некоторые моменты, т.к. их бывший программист куда-то потерялся и не выходил на связь. В процессе работы по коду оставлял в комментах для себя заметки типа "здесь лучше использовать Х вместо Y будет быстрее, переделать" или "ну что за криворукий это писал, есть же функция Z, переделать". С удивлением для себя через некоторое время обнаружил комменты к моим комментам: "Спасибо, учту на будущее" или "Поправил, стало заметно быстрее" )))
С помощью лома и какой-то матери )))
Не какой-то, а такой-то.
Классика любит точность:).
Факт. Когда кодил, неоднократно подобное замечал в чужих исходниках. Суть проста: человек хочет улучшить код позднее, а не пишет с "костылями" на "отъе***"