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 una serie di regole che abbiamo definito e contrassegna i luoghi in cui il mio codice non lo fa rispettare 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 rifattorizzarlo in qualcosa di meglio.
Gli sviluppatori sono completamente liberi di infrangere 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 le revisioni di qualità / codice
La prima cosa che faccio generalmente quando eseguo una revisione del codice è controllare la copertura 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 del 100% purché il codice importante sia ben testato. Quindi la percentuale coperta è in qualche modo insignificante, ma lo 0% si distingue come un pollice dolente come qualcosa che voglio guardare attentamente.
Controllo anche quali parametri concordati dal team sono stati "non funzionanti", se presenti, per vedere se sono d'accordo con lo sviluppatore che era OK o se posso suggerire modi per migliorarlo. Avere queste metriche di sviluppo concordate nel nostro team per la scrittura di nuovo codice ha contribuito notevolmente a migliorare il nostro codice. Scriviamo metodi molto meno monolitici e ora siamo molto meglio con il principio della singola responsabilità .
Tendenze di tendenza nel codice legacy
Abbiamo un sacco di codice legacy in circolazione che vorremmo migliorare. Le metriche in qualsiasi momento sono abbastanza inutili, ma ciò che è importante per noi è che nel tempo la copertura del codice aumenta e cose come la complessità e l'accoppiamento diminuiscono. Pertanto, le nostre metriche sono collegate al nostro server di integrazione continua che ci consente di guardare nel tempo per assicurarci di essere sulla strada giusta.
Conoscere una nuova base di codice
Circa l'unica volta in cui utilizzo linee di metrica del codice sorgente è quando guardo una base di codice che non conosco. Mi permette di valutare rapidamente le dimensioni approssimative del progetto rispetto alle altre con cui ho lavorato. Utilizzando altre metriche posso anche avere un'idea più approssimativa della qualità del progetto.
Le cose chiave sono usare le metriche come punti di partenza per tendenze, discussioni o vie da seguire e non gestirle religiosamente per ottenere cifre esatte. Ma credo fermamente che possano aiutarti a migliorare il codice giusto se usato correttamente.