Вопрос

Каков предпочтительный диапазон оценок для расчета метрик кода для следующих

  • Индекс ремонтопригодности
  • Цикломатическая сложность
  • Глубина наследования
  • класс Муфта
Это было полезно?

Решение

Теоретически оптимальными значениями являются:

  • Индекс ремонтопригодности:100.Более высокие значения указывают на лучшую ремонтопригодность.
  • Цикломатическая сложность:1.Количество различных путей, по которым может идти код.
  • Глубина наследования:1.Количество определений классов выше этого в дереве наследования, не включая интерфейсы.
  • Классовая связь:0.Количество других сущностей, от которых зависит эта сущность.

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

  • Высокая цикломатическая сложность каждого метода предполагает, что метод становится слишком сложным.
  • Наличие глубины наследования более 3 или 4 (ваших собственных классов, а не фреймворка) является признаком того, что вы можете излишне представлять абстрактные отношения, которые на самом деле не относятся к области вашего программного обеспечения.
  • Соединение низкого класса в целом лучше, но иногда оно неизбежно.Насколько это возможно, вам обязательно следует минимизировать зависимость между пространствами имен, поскольку здесь гораздо меньше причин для зависимостей.

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

Следовательно, вся сложность — это компромисс:дополнительные так называемые присущий сложность делает программу более сложной, позволяя ей расширить набор функций.Чего бы вы хотели избежать, так это случайный сложность, вызванная плохой или неполной реализацией.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top