Мы на Workspace
Наверх
Gendalf Gendalf

Стоит ли писать «красивый» код — отвечают эксперты

Стоит ли тратить время на «красивое» оформление кода согласно разным Style Guide, если того не требует заказчик? Или же это всё дурные мысли, появляющиеся от безделья, и главное, чтобы код работал? Узнаем у экспертов.

Руслан Титов, технический архитектор бизнес-приложений «1С», ГЭНДАЛЬФ:

«Красивый», но неработающий код бесполезен, а работающий код без красоты нечитаем и сложен. Сделать его и работающим, и «красивым» помогает целый ряд ПО. Мы, например, используем:

  • Smoke test на Vanessa-add (разработанная на основе Vanessa-behavior) — для проверки работоспособности;
  • SonarQube — для анализа качества и «красоты» кода.

Вот некоторые моменты, на которые мы обращаем внимание при написании кода в своих разработках:

  • когнитивная сложность функции/процедуры: помогает ограничить количество условий и циклов в одной функции/процедуре. Такое ограничение нужно для повышения сопровождаемой функции/процедуры. Многие разработчики этим общим стандартом пренебрегают, а в дальнейшем сталкиваются с достаточно типовыми проблемами — например, в тестировании или в доработке таких функций/процедур;
  • «магические» числа/даты — сущность, появляющаяся в коде из ниоткуда и используемая напрямую в выражениях; за ней надо следить, потому что это тоже достаточно частый грешок программистов, после чего сам же программист сталкивается с непониманием того, что он сделал;
  • именование виртуальных таблиц в запросах. Ещё одна очень часто встречающаяся проблема, когда программист строит многоуровневый запрос с большим количеством виртуальных таблиц или вложенных запросов и именует их по типу VT1, VT2, VT3 и т. д. В дальнейшем такой подход усложняет процесс сопровождения и читаемости запроса.

Это, разумеется, далеко не все важные моменты. Но всё, что ещё можно было бы здесь перечислить, так или иначе влияет на сопровождаемость, читаемость и тестирование кода. Отсюда можно сделать вывод: «красивый» и работающий код, написанный по общепризнанным стандартам, упрощает и сокращает затраты на его сопровождение.

Источники: Типичный программист.

Поделиться