E buna si criza asta la ceva … precum si blog-ul meu pentru mine. Am primit de la Patrick Smacchia o licenta de NDepend . Si ce ar fi mai bun decit sa analizez aplicatia deja facuta?
Nu pot sa spun decit ca raportul lui, gata facut , este super impresionant (se pot defini rapoarte custom, dar ideea este ca astepti sa iasa ceva din prima)
Iata, de exemplu, imaginea cu dependentele:
Se vede dintr-o data ce nu e bine: SuffixDLL are legatura la PropertyGridUtils – cind ar trebui sa aiba doar SuffixWnd ( daca nu e clar, sa explic : Dll-ul de business nu ar trebui sa aiba de a face cu interfata grafica …)
Mai mult decit FxCop , are si multe detalii referitoare la calitatea codului in sine, de ex:
WARNING: The following CQL constraint is not satisfied. 1 types on 21 tested match the condition. –> Group {Unused Code / Dead Code}
// <Name>Potentially unused types</Name>
WARN IF Count > 0 IN SELECT TOP 10 TYPES WHERE
TypeCa == 0 AND // Ca=0 -> No Afferent Coupling -> The type is not used in the context of this application.
!IsPublic AND // Public types might be used by client applications of your assemblies.
!NameIs "Program" // Generally, types named Program contain a Main() entry-point method and this condition avoid to consider such type as unused code.
types
Afferent coupling at type level (TypeCa)
Full Name
Settings
0
SuffixWnd.Properties.Settings
Intr-adevar, pusesem settings la un moment dat – si apoi nu il folosisem.
Un tool de avut pentru orice team leader de .NET!
Site http://www.ndepend.com/, recomandare de la Scott Hanselman si un podcast , precum si demo-uri