(Basandosi su questa domanda )
Se possiedi un analizzatore di codice statico come Checkstyle , è possibile mettere in relazione qualsiasi cosa che controlla per effettiva robustezza? Alcune delle cose controllate da Checkstyle sono ad esempio:
- Design della classe : visibilità dei membri della classe, imposizione di public solo membri finali statici, nessun costruttore pubblico per le classi di utilità, eccezioni immutabili ecc.
- Coding : condizionali in linea, nessuna istruzione vuota, nessuna istanza illegale e numeri magici
- Duplicazione : controlla la duplicazione del codice,
- Importa : controlla che i pacchetti siano importati correttamente
- Metriche : controlla tutto dal numero di volte in cui gli operatori logici sono stati utilizzati in una dichiarazione al numero di classi che la classe data si basa su altre classi (accoppiamento) ecc.
- Convenzioni di denominazione : controlla molte proprietà del nome della variabile, i nomi dei pacchetti, i nomi dei metodi, i nomi delle classi ecc.
Queste sono solo alcune delle cose principali che Checkstyle cerca. Qualcuno di queste aree può effettivamente "migliorare" la robustezza del codice rilevando "errori"? Voglio dire che aiuta con la leggibilità e altri odori di codice, ma non riesco a vedere come posso riferirlo alla robustezza.
Hai bisogno di consultare il codice in fase di esecuzione per ispezionare effettivamente i problemi di robustezza?