Esiste una metrica analoga alla misura della complessità di McCabe per misurare quanto sia coesiva una routine e anche quanto vagamente (o strettamente) accoppiata la routine è ad altro codice nella stessa base di codice?
Esiste una metrica analoga alla misura della complessità di McCabe per misurare quanto sia coesiva una routine e anche quanto vagamente (o strettamente) accoppiata la routine è ad altro codice nella stessa base di codice?
Penso che la metrica che stai cercando sia LCOM4, sebbene si applichi maggiormente alle classi.
Sonar lo spiega bene qui :
...metric : LCOM4 (Lack Of Cohesion Methods) to measure how cohesive classes are. Interpreting this metric is pretty simple as value 1 means that a class has only one responsibility (good) and value X means that a class has probably X responsibilities (bad) and should be refactored/split.
There is not any magic here, only common sense. Let’s take a simple example with class Driver. This class has two fields : Car and Brain, and five methods : drive(), goTo(), stop(), getAngry() and drinkCoffee(). Here is the dependency graph between those components. There are three blocks of related components, so LCOM4 = 3, so the class seems to have three different responsibilities and breaks the Single Responsibility Principle.
...
È un ottimo strumento, se puoi usarlo. :)
L'instabilità è supportata in vari strumenti di metrica del codice.
Leggi altre domande sui tag code-metrics