Что такое качество программного обеспечения?

25 сентября 2016

Следует различать два понятия: "качество программного продукта" и "качество программного кода". Под качеством программного продукта подразумевается то на сколько продукт решает бизнес задачи для пользователей. К примеру, на сколько удобен сайт интернет магазина во время покупок, на сколько быстро генерируется очередная страничка на сайте, доступен ли сайт 24 часа в сутки и т.д. В этом обзоре мы остановимся на понятии качества программного кода. Итак, какой программный код можно считать хорошим?

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

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

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

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

Признаком высокого качества является оформление типового функционала в виде различных библиотек для повторного использования. Наличие большого количества дублирующихся фрагментов кода является плохой практикой. Повторяющиеся фрагменты необходимо выносить в общую процедуру или библиотеку, подключаемую к основному проекту в виде компоненты с помощью различных сборщиков (Java Maven, PHP Composer, Ruby Bundler, и т.д.)

Хорошей практикой является отсутствие изобретений велосипедов. К примеру, следует избегать использование различных MVC движков собственного производства, лучше использовать один из готовых популярных фреймворков.

Не качественный программный код через некоторое время может парализовать работу IT инфраструктуры.

Новости

  • Релиз Qualiter 4.5.0. Произведена интеграция с платформой SonarQube
    30 января 2019
  • Релиз Qualiter 3.1.0. Добавили Rest API.
    04 сентября 2018
  • Релиз Qualiter 3.0.3. Утилита для оценки необходимости рефакторинга компиляционной единицы Java кода. Доступно онлайн Demo.
    16 июля 2018
Все новости