Bir rutinin ne kadar yapışkan olduğunu ve ayrıca rutinin aynı kod bazındaki diğer kodlara ne kadar gevşek (veya sıkıca) bağlandığını ölçen McCabe Karmaşıklık ölçüsüne benzer bir ölçüm var mı ?
Bir rutinin ne kadar yapışkan olduğunu ve ayrıca rutinin aynı kod bazındaki diğer kodlara ne kadar gevşek (veya sıkıca) bağlandığını ölçen McCabe Karmaşıklık ölçüsüne benzer bir ölçüm var mı ?
Yanıtlar:
Bence aradığınız metrik, LCOM4'tür, ancak sınıflara daha çok uygulanır.
Sonar burada güzel anlatıyor :
... metric: LCOM4 (Yapışma Yöntemlerinin Yokluğu), yapışkanlık sınıflarının nasıl olduğunu ölçmek için. Bu metriği yorumlamak oldukça basittir çünkü değer 1, bir sınıfın yalnızca bir sorumluluğu olduğu (iyi) ve X değeri, bir sınıfın muhtemelen X sorumlulukları olduğu (kötü) olduğu ve yeniden yapılandırılması / bölünmesi gerektiği anlamına gelir.
Burada sihir yok, sadece sağduyulu. Sınıf Sürücüsü ile basit bir örnek alalım. Bu sınıfın iki alanı vardır: Araba ve Beyin ve beş yöntem: drive (), goTo (), stop (), getAngry () ve drinkCoffee (). İşte bu bileşenler arasındaki bağımlılık grafiği. Üç ilgili bileşen bloğu vardır, bu nedenle LCOM4 = 3, bu yüzden sınıfın üç farklı sorumluluğu var gibi görünüyor ve Tek Sorumluluk İlkesini ihlal ediyor.
...
Kullanabiliyorsan, harika bir araçtır. :)
brain.setAngry(driver)
? car.applyBreaks(driver)
?
Kararsızlık, çeşitli kod metrik araçlarında desteklenir.