2.20 Метрики

Что же все-таки такое «хороший дизайн»? Формально говоря, это такой дизайн, который с гарантией обеспечивает достижение хорошего внешнего качества системы. Но есть одна проблема: скорее всего, единого хорошего дизайна нет.

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

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

  • Средняя (или максимальная) длина метода в строках. Надо стремиться к уменьшению этой величины.
  • Количество доступных клиентам элементов класса. Тоже стоит уменьшать, поскольку с чересчур большим API трудно работать.

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

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