Ci sono molte situazioni nel mio lavoro in cui utilizzo le metriche del codice:
Durante la scrittura del codice
L'uso più grande e forse più importante nel mio lavoro quotidiano è in Checkstyle , uno strumento per sviluppatori java che controlla continuamente le metriche ( tra le altre cose) del mio codice rispetto a un insieme di regole che abbiamo definito e contrassegna luoghi in cui il mio codice non è conforme a tali regole. Mentre sviluppo il codice, mi dice in tempo reale se i miei metodi diventano troppo lunghi, complessi o accoppiati, permettendomi di fare un passo indietro e pensare di rifarlo a qualcosa di meglio.
Gli sviluppatori sono completamente liberi di violare tutte le regole poiché non si applicheranno mai a tutte le situazioni. Le "regole" sono lì per stimolare il pensiero e dire "Ehi, è questo il modo migliore per farlo?"
Durante recensioni su QA / Codice
La prima cosa che faccio generalmente quando eseguo una revisione del codice è controllare la copertura del codice del codice che sto esaminando insieme a uno strumento di copertura del codice che evidenzia quali linee di codice sono state coperte. Questo mi dà un'idea generale di quanto sia accurato il codice di test. Non mi interessa davvero se la copertura è del 20% o 100% finché il codice importante è ben testato. Quindi la percentuale coperta è alquanto insignificante, ma lo 0% sicuramente si distingue come un pollice dolente come qualcosa che voglio guardare attentamente.
Controllo anche quali metriche concordate dal team sono state "infrante", se esistono, per vedere se sono d'accordo con lo sviluppatore sul fatto che fosse OK o se posso suggerire modi per migliorarlo. Avere questi parametri di sviluppo concordati nel nostro team per scrivere un nuovo codice ha fatto grandi progressi nel migliorare il nostro codice. Scriviamo molto meno metodi monolitici e siamo molto meglio al principio di responsabilità singola adesso.
Miglioramenti delle tendenze al codice precedente
Abbiamo un sacco di codice legacy che vorremmo migliorare. Le metriche in qualsiasi momento sono abbastanza inutili, ma ciò che è importante per noi è che la copertura del codice temporale aumenti e che cose come la complessità e l'accoppiamento scendano. Pertanto, le nostre metriche sono collegate al nostro server di Continuous Integration che ci consente di guardare nel tempo per assicurarci di essere sulla strada giusta.
Affrontare una nuova base di codice
Circa l'unica volta che uso linee di metrica del codice sorgente è quando guardo un codice base che non conosco. Mi consente di misurare rapidamente le dimensioni approssimative del progetto rispetto ad altre con cui ho lavorato. Usando altre metriche posso avere un'idea più approssimativa della qualità del progetto.
Le cose chiave sono usare le metriche come punti di partenza per trend, discussioni o strade da percorrere e non per gestirle religiosamente su cifre esatte. Ma credo fermamente che possano aiutarti a migliorare il codice che hai ragione quando usato correttamente.