Prima di qualche mese fa non avevo mai messo le mani su un tool di anlisi statica del codice. Implementando un progetto di build ho approfondito la questione, integrando nel processo dei controlli di code analisys tramite FxCop.
FxCop nasce come progetto interno di Microsoft per verificare l’adesione alle .NET Framework Design Guidelines del codice che viene scritto ogni giorno. Analizza il CIL degli assemblies alla ricerca di più di 200 possibili “violazioni” raggruppate in:
-
COM (Interoperability)
-
Design
-
Globalization
-
Naming
-
Performance
-
Security
-
Usage Maintainability
-
Portability
-
Reliability
Ho preso spavento vendendo il risultato della prima analisi di un assembly relativo a progetto a cui sto lavorando da qualche mese di dimensioni ridotte! La nota positiva è che cercando di risolvere tutti i warning si approfondiscono tematiche che normalmente si trascurerebbero. La prima cosa che mi è venuta in mente è che ho imparato come implementare IDisposable correttamente, cosa che prima facevo “a sentimento”.
Che esperienza avete con l’analisi statica del codice e cosa vi ha insegnato?