Об'єктно-орієнтовані метрики коду (англ. Object-Oriented Metrics) належать до метрик коду програмного забезпечення. ООП-метрики було розроблено Чидамбером и Кемерером.
До цієї групи метрик належать:
- Насиченість класу (англ. Weighted methods per class, WMC), визначається сумою складностей методів класу. Складність кожного методу обчислюється будь-якою метрикою.
- Глибина спадкування (англ. Depth of Inheritance tree, DIT) — глибина дерева спадкування. Визначається як найдовший шлях по ієрархії класів до даного класу від батьківського класу.Чим вищим є цей показник, тим сильнішою є абстракція даних і зменшується насиченість класів методами. Однак, при великих значеннях глибини спадкування сильно зростає складність розуміння і написання програми.
- Кількість нащадків (англ. Number of children, NOC) — ширина ієрархії класів. Визначається кількістю безпосередніх нащадків. Чим більшою є кількість нащадків, тим сильнішою є абстракція даних.
- Зв'язаність класів(англ. Coupling between object classes, CBO), визначає кількість зв'язків з іншими класами не включаючи спадкування. При високому значенні показника зв'язаності класів зменшується рівень абстракції даних і ускладнюється повторне використання класу.
- Відповідь класу (англ. Response for a class, RFC), визначається кількістю методів, що можуть буди виконані у відповідь на повідомлення, отримане об'єктом. Чим більшим є показник відповіді класу, тим складнішою є тестування і відлагодження.
- Непов'язаність методів (англ. Lack of cohesion in Methods, LCOM), визначається кількістю методів класу, що не пов'язані по параметрах. Для визначення значення непов'язаності методів уводять такі параметри як: Р — кількість пар, що не мають спільних параметрів та Q — кількість пар, що мають спільні параметри. Тоді LCOM=|P|-|Q|. Недостатня пов'язаність методів може бути сигналом того, що клас можна розбити на декілька інших класів або підкласів.
Примітки
- Chidamber & Kemerer object-oriented metrics suite (англ.)
- Weighted Methods Per Class (англ.)
- Code Metrics – Depth of Inheritance (DIT) (англ.)
Посилання
- An Introduction to Object-Oriented Metrics (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Ob yektno oriyentovani metriki kodu angl Object Oriented Metrics nalezhat do metrik kodu programnogo zabezpechennya OOP metriki bulo rozrobleno Chidamberom i Kemererom 1 Do ciyeyi grupi metrik nalezhat Nasichenist klasu angl Weighted methods per class WMC 2 viznachayetsya sumoyu skladnostej metodiv klasu Skladnist kozhnogo metodu obchislyuyetsya bud yakoyu metrikoyu Glibina spadkuvannya angl Depth of Inheritance tree DIT 3 glibina dereva spadkuvannya Viznachayetsya yak najdovshij shlyah po iyerarhiyi klasiv do danogo klasu vid batkivskogo klasu Chim vishim ye cej pokaznik tim silnishoyu ye abstrakciya danih i zmenshuyetsya nasichenist klasiv metodami Odnak pri velikih znachennyah glibini spadkuvannya silno zrostaye skladnist rozuminnya i napisannya programi Kilkist nashadkiv angl Number of children NOC shirina iyerarhiyi klasiv Viznachayetsya kilkistyu bezposerednih nashadkiv Chim bilshoyu ye kilkist nashadkiv tim silnishoyu ye abstrakciya danih Zv yazanist klasiv angl Coupling between object classes CBO viznachaye kilkist zv yazkiv z inshimi klasami ne vklyuchayuchi spadkuvannya Pri visokomu znachenni pokaznika zv yazanosti klasiv zmenshuyetsya riven abstrakciyi danih i uskladnyuyetsya povtorne vikoristannya klasu Vidpovid klasu angl Response for a class RFC viznachayetsya kilkistyu metodiv sho mozhut budi vikonani u vidpovid na povidomlennya otrimane ob yektom Chim bilshim ye pokaznik vidpovidi klasu tim skladnishoyu ye testuvannya i vidlagodzhennya Nepov yazanist metodiv angl Lack of cohesion in Methods LCOM viznachayetsya kilkistyu metodiv klasu sho ne pov yazani po parametrah Dlya viznachennya znachennya nepov yazanosti metodiv uvodyat taki parametri yak R kilkist par sho ne mayut spilnih parametriv ta Q kilkist par sho mayut spilni parametri Todi LCOM P Q Nedostatnya pov yazanist metodiv mozhe buti signalom togo sho klas mozhna rozbiti na dekilka inshih klasiv abo pidklasiv Primitkired Chidamber amp Kemerer object oriented metrics suite angl Weighted Methods Per Class angl Code Metrics Depth of Inheritance DIT angl Posilannyared An Introduction to Object Oriented Metrics angl Otrimano z https uk wikipedia org wiki OOP metriki kodu