2017-07-04 2 views
1

Nous utilisons NDepend 5 et j'avais des doutes sur notre Complexité cyclomatique moyenne.NDepend Complexité cyclomatique moyenne sans get et set

Lors de la vérification comment cette requête est faite, je trouve que il comprend getters et setters de nos propriétés. Il semble également inclure des méthodes de propriétés auto. Ces méthodes sont généralement équivalentes à un CC de 1. Je n'aime pas cela parce qu'il abaisse notre CC moyen et ne nous montre pas la vraie moyenne des méthodes que nous codons.

Existe-t-il un moyen de supprimer des propriétés de ce calcul?

Répondre

1

Vous pouvez définir une complexité personnalisée métrique avec une code query qui peut être transformé en une règle si nécessaire (avec le préfixe warnif count > 0 et une condition de seuil):

from t in JustMyCode.Types 
let complexity = t.Methods.Where(m => !(m.IsPropertyGetter || m.IsPropertySetter)) 
       .Sum(m => m.CyclomaticComplexity) 
orderby complexity descending 
select new { t, complexity, t.CyclomaticComplexity } 

La capture d'écran ci-dessous compare les valeurs obtenues.

NDepend custom cyclomatic complexity

BTW, NDepend v5 est plus supporté et v6 et v2017 a apporté beaucoup de nouvelles fonctions.