ООП метрики коду — Вікіпедія
Об'єктно-орієнтовані метрики коду (англ. Object-Oriented Metrics) належать до метрик коду програмного забезпечення. ООП-метрики було розроблено Чидамбером и Кемерером[1].
До цієї групи метрик належать:
- Насиченість класу (англ. Weighted methods per class, WMC[2]), визначається сумою складностей методів класу. Складність кожного методу обчислюється будь-якою метрикою.
- Глибина спадкування (англ. Depth of Inheritance tree, DIT[3]) — глибина дерева спадкування. Визначається як найдовший шлях по ієрархії класів до даного класу від батьківського класу.Чим вищим є цей показник, тим сильнішою є абстракція даних і зменшується насиченість класів методами. Однак, при великих значеннях глибини спадкування сильно зростає складність розуміння і написання програми.
- Кількість нащадків (англ. Number of children, NOC) — ширина ієрархії класів. Визначається кількістю безпосередніх нащадків. Чим більшою є кількість нащадків, тим сильнішою є абстракція даних.
- Зв'язаність класів(англ. Coupling between object classes, CBO), визначає кількість зв'язків з іншими класами не включаючи спадкування. При високому значенні показника зв'язаності класів зменшується рівень абстракції даних і ускладнюється повторне використання класу.
- Відповідь класу (англ. Response for a class, RFC), визначається кількістю методів, що можуть буди виконані у відповідь на повідомлення, отримане об'єктом. Чим більшим є показник відповіді класу, тим складнішою є тестування і відлагодження.
- Непов'язаність методів (англ. Lack of cohesion in Methods, LCOM), визначається кількістю методів класу, що не пов'язані по параметрах. Для визначення значення непов'язаності методів уводять такі параметри як: Р — кількість пар, що не мають спільних параметрів та Q — кількість пар, що мають спільні параметри. Тоді LCOM=|P|-|Q|. Недостатня пов'язаність методів може бути сигналом того, що клас можна розбити на декілька інших класів або підкласів.