Метрическое вычисление кода в Visual Studio

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

  • Индекс пригодности для обслуживания
  • Цикломатическая сложность
  • Глубина наследования
  • Связь класса
38
задан Asad 9 January 2010 в 14:56
поделиться

1 ответ

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

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

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

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

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

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

64
ответ дан 27 November 2019 в 03:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: