Открытое ПО

Невероятно, но факт: матерные комментарии в коде связаны с его высоким качеством

Разработчики, использующие ненормативную лексику в комментариях, создают более качественные программы. Интенсивность выражений коррелирует с улучшением кода

, Автор: Дмитрий Степанов
Создатели программ, сопровождающие свои разработки эмоциональными комментариями, вероятно, демонстрируют более высокий уровень мастерства. Аналитическая работа студента из Германии выявила взаимосвязь между насыщенностью пояснений к программе крепкими словами и общей продуманностью программного обеспечения. Однако преждевременно строить глобальные заключения - исследование охватило исключительно публичные репозитории GitHub с кодом на языке C, что указывает на необходимость дополнительного изучения темы.

Экспрессивная лексика в работе кодировщика

Учащийся Технологического института Карлсруэ (Германия) Ян Штреймель (Jan Strehmel) обнаружил взаимозависимость между техническим совершенством программ и эмоциональной окраской сопровождающих их пояснений, сообщает Ars Technica. Изучение тысяч примеров исходных текстов на языке C с платформы GitHub продемонстрировало, что в среднем программные решения с экспрессивными комментариями характеризуются меньшим числом недочетов, уменьшенным дублированием фрагментов и повышенной удобочитаемостью.

Инициатива исследования возникла у научного куратора Штреймеля - эксперта в биоинформатике Александроса Стаматакиса (Alexndros Stamatakis) после изучения занимательного графика, отображающего динамику употребления лексики из категории нецензурной в различных версиях ядра Linux.

В рамках эксперимента Штреймель отобрал из публичных хранилищ GitHub (ИТ-платформы, принадлежащей Microsoft) приблизительно 3,8 тыс. примеров программного кода, содержащих эмоциональные выражения, и для сравнения - 7,6 тыс. вариантов, где авторы воздерживались от использования подобной лексики.

frustrated-pc-guy-750.jpg
Изображение: drobotdean / freepik
Разработчики, использующие эмоциональные выражения в комментариях, возможно, создают более совершенный код

Анализ качества программирования осуществлялся по автоматизированной системе SoftWipe, изначально созданной для оценки научного программного обеспечения, с применением одиннадцатиуровневой шкалы (от 0 до 10). Исследование данных продемонстрировало, что в среднем проекты с использованием разработчиками экспрессивной лексики получали на 0,5 пункта выше, чем варианты без эмоционально окрашенных выражений.

Важно подчеркнуть, что на данном этапе можно говорить лишь о корреляционной связи. Данное направление определенно заслуживает более детального исследования, чем, по всей видимости, и планирует заняться Штреймель в своей выпускной квалификационной работе.

Параметры оценки программного кода

Программа SoftWipe учитывает следующие аспекты качества: общее количество предупреждений от компилятора, инструментов диагностики и статического анализатора (меньшее значение предпочтительнее); цикломатическую сложность программной структуры (метрика оценки сложности и модульности); наличие фрагментов с нестандартным или противоречивым форматированием; уровень повторяемости кодовых блоков. Утилита исключает из анализа тестовые модули, идентифицируя их по наличию ключевого слова "test" в названиях файлов.

По каждому параметру анализируемый код получает целочисленную оценку от 0 до 10 (более высокое значение соответствует лучшему качеству). Все критерии имеют равный вес при формировании итогового результата.

Финальная оценка вычисляется как среднее арифметическое значение всех перечисленных параметров качества.

Неожиданные и интересные выводы

Полученные результаты вызвали удивление как у самого Штреймеля, так и у его научного руководителя. Последний отмечает, что и сам иногда использует экспрессивные выражения в процессе программирования, однако стремится не переносить эмоциональную реакцию на коллег, которым впоследствии придется работать с его кодом. Поэтому в комментариях Стаматакиса невозможно встретить эмоционально окрашенных выражений.

Как сообщает Ars Technica, существует ряд научных работ, демонстрирующих, что в определенных ситуациях использование экспрессивной лексики может оказывать положительное влияние на состояние человека, в частности способствуя снижению болевых ощущений и улучшению физических показателей.

Когнитивный психолог Бенджамин Берген (Benjamin Bergen) из Калифорнийского университета в Сан-Диего, написавший книгу «Что за Х: значение ненормативной лексики для понимания языка, мозга и человеческой природы», во время преподавания иногда сознательно использует экспрессивные выражения (безусловно, соблюдая этические границы). Как показывают научные работы, включая публикации в авторитетных изданиях Communication Quarterly и Communication Reports, такая методика способствует росту заинтересованности аудитории.

Берген отмечает, что научное сообщество ранее не анализировало возможную взаимосвязь между качеством программного кода и частотой использования крепких выражений при его создании. Исследователь характеризует эту гипотезу как «чрезвычайно интригующую и многообещающую».

Ученый выдвигает предположение, что разработчики, активно использующие эмоциональную лексику, возможно, демонстрируют более глубокую вовлеченность в рабочий процесс compared с тактичными коллегами. Данный фактор потенциально влияет на итоговое качество программного обеспечения.

Альтернативное объяснение, предложенное Бергеном, заключается в том, что программисты, оставляющие в коде выразительные комментарии, возможно, стремятся удивить или развлечь будущих сопровождающих этот код специалистов. В обоих случаях подобный прием помогает привлечь дополнительное внимание к анализу программного кода.

Похожие публикации раздела






Поделиться:

0 Комментариев

Оставить комментарий

Обязательные поля помечены *
Ваш комментарий *
Категории