Метрика 5: Фактор полиморфизма POF (Polymorphism Factor)

Введем обозначения:

q M0i) — количество унаследованных и переопределенных методов в классе Сi;

q Mni) — количество новых (не унаследованных и переопределенных) методов в классе Сi;

q DC(Сi) — количество потомков класса Сi;

q Mdi) = Mni) + M0i) — количество методов, определенных в классе Сi.

Тогда формула метрики POF примет вид:

.

Числитель POF фиксирует реальное количество возможных полиморфных ситуаций. Очевидно, что сообщение, посланное в класс Сi связывается (статически или динамически) с реализацией именуемого метода. Этот метод, в свою очередь, может или представляться несколькими «формами», или переопределяться (в потомках Сi).

Знаменатель POF представляет максимальное количество возможных полиморфных ситуаций для класса Сi. Имеется в виду случай, когда все новые методы, определенные в Сi, переопределяются во всех его потомках.

Умеренное использование полиморфизма уменьшает как плотность дефектов, так и затраты на доработку. Однако при POF > 10% возможен обратный эффект.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: