Что такое качественный код?

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

Легкость в поддержке определяется тем, что код:

  • просто понять
  • можно дополнить либо развить при этом не переписав бОльшую его часть
  • легко тестировать

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

Критерии качества кода

Основные критерии, определяющие качество кода, это:

  • следование code conventions
  • продуманная и эффективная обработка исключений
  • наличие эффективного логгирования
  • качественная документация кода
  • отсутствие попыток ненужной(преждевременной) оптимизации
  • адекватное использование технологий

Обеспечивая выполнение этих пунктов, команда обеспечивает качество кода, но не качество продукта(!).

Значение качества кода

Качественный код не должен быть самоцелью.

Доказательством тому может служить тот факт, что существует как  множество успешных программных систем при этом совершенно «гнилых» изнутри, так и множество систем с качественным кодом потерпевших провал.

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

Важность умения писать качественный код

Обеспечить качество кода – всегда требует средств. Будь эти средства потрачены на дополнительные человекочасы не очень опытных разработчиков, либо на более дорогие человекочасы опытных разработчиков, которые без дополнительных усилий могут писать высококачественный код. И не всегда есть возможность потратить эти средства на повышение качества кода.

Когда надо работать с максимальной скоростью – то разработчики работают так, как умеют. И тот, кто умеет писать качественный код – тот даже в таких условиях будет писать качественный код. А кто не умеет – напишет плохой код. В условиях суровой реальности разработки ПО такое не редкость, поэтому умение писать качественный код – один из критериев профессионализма разработчика. Подчёркиваю, что один из многих. Поэтому то, что человек умеет писать качественный код, не является достаточным условием профессионализма.

Качество vs. трудозатраты

Бытует мнение, что качественный код – это всегда дополнительные трудозатраты. Однако смысл качества кода как раз и состоит в том, чтобы сократить затраты на его поддержку. Потратив сегодня деньги на обеспечение качества кода – мы сэкономим на его поддержке. Тем не менее, каждая конкретная ситуация ставит свои ограничения и поэтому принять это утверждение за истину мы не можем.

Leave a Reply