Zpo-4-wyk-Slajd31
Weighted Methods for Class
Metryka Weighted Methods per Class (WMC) służy do określania złożoności klasy jako zbioru metod. Ogólna jej definicja mówi, że jest to suma ważona metod wchodzących w skład klasy. Jednak ponieważ często przyjmowane jest założenie o jednakowej wadze wszystkich metod, wówczas ma ona uproszczoną wersję: WMC jest liczbą wszystkich metod zdefiniowanych w danej klasie.
Innym, często stosowanym współczynnikiem wagi metody, jest jej złożoność cyklomatyczna (CC). Wówczas metryka WMC jest sumą złożoności McCabe'a wyliczonych dla wszystkich metod w klasie.
Rolą metryki WMC jest predykcja pracochłonności wymaganej do stworzenia i pielęgnacji klasy. Co ważne, metrykę tę można obliczyć (w przypadku wersji z wagami równymi 1) jedynie na podstawie modelu systemu. Zatem pozwala ona przewidywać ważne atrybuty oprogramowania zanim ono powstanie.
Z przeprowadzonych badań wynika, że wysoka wartość metryki WMC charakteryzuje klasy konkretne, o bardzo wąskiej specjalizacji. Klasy takie rzadko są dalej specjalizowane w postaci kolejnych podklas.