Zpo-4-wyk-Slajd36
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Lack of Cohesion of Methods (1)
Kolejną metryką jest LCOM, opisującą – w odróżnieniu od pozostałych metryk CK – brak pewnej cechy, a nie jej obecność. Cechą to jest spójność klasy, mierzona jako stopień podobieństwa celów realizowanych przez metody klasy. Klasa jest spójna, jeżeli wszystkie jej metody współpracują, tzn. odwołują się do siebie nawzajem oraz wspólnie odwołują się do atrybutów tej klasy.
W wersji pierwszej tej metryki przyjmuje ona wartość będącą różnicą liczby par metod odwołujących się do różnych atrybutów klasy oraz liczby par metod odwołujących się do przynajmniej jednego wspólnego atrybutu. Wersja ta jednak była szeroko krytykowana. Wśród najważniejszych zarzutów wymieniano m.in. następujące obserwacje:
- LCOM1 przyjmuje z definicji wartość 0 wskutek różnych okoliczności, zatem wartość ta może być mylnie interpretowana;
- definicja jest oparta na interakcji między metodami a danymi, co może nie być właściwym kryterium spójności w świecie obiektowym;
- LCOM1 opiera się na dostępie do zmiennych, podczas gdy w wielu językach programowania (np. w C#) mechanizmem dostępu do pól klasy są właściwości (ang. properties ).