2011-09-06 7 views
7

Mi piacerebbe sapere quale strumento è il migliore per trovare qualsiasi tipo di bug nel mio codice. So che potrebbe trattarsi di una domanda teorica o infinita, quindi vorrei modificarla in termini di efficienza nella segnalazione dei bug (compresa la convenzione di denominazione). Quindi puoi dire quali rapporti sugli strumenti e bug massimi e se effettivamente utilizzati nel settore? Ho sentito di findbug è davvero buono?Qual è lo strumento migliore per trovare bug nel codice Java?

+4

Usa quello situato tra le tue orecchie, quello è il più potente e non è sostituibile da nessuna macchina utensile ;-) –

+0

@Peter bel commento ... ma a volte non sembra pratico soprattutto quando sei solo un antipasto .. Questi strumenti ti aiuteranno ad aumentare il tuo database di strumento chiamato cervello che può essere usato in seguito .... findbug ha migliorato molto la mia pratica di codifica. – amod

+3

Infatti. Ma a meno che tu non impari * perché * gli avvisi specifici di FindBugs siano emessi e come evitarli, cioè come scrivere un codice migliore (per il quale devi usare il cervello), non diventerai uno sviluppatore migliore, non importa quanti codici strumenti di analisi che usi. –

risposta

9

FindBugs è probabilmente uno dei più importanti e vale la pena provare.

Per le convenzioni di denominazione ecc., Suggerirei di dare un'occhiata a CheckStyle.

+0

Sì, ho usato find bugs ma non abbiamo alcun bug per lo stile. Passando attraverso lo stile di controllo lasciami provare anche quello. – amod

2

Findbugs è abbastanza buono. Tuttavia, consiglierei di usare sonar per mantenere la qualità del codice. http://www.sonarsource.org/ Si integra bene con Maven (sonar: sonar). Oltre a questo, credo che l'uso del sito Maven per creare check-up, pmd, findbugs e tutti i report aiuti anche a tenere gli sviluppatori sulle spine.

1

utilizzare un compilatore per trovare

casi l'uso di test di sintassi 'bug' per trovare usabilità 'bug'

imbracature uso di test nel codice per trovare problemi di regressione con modifiche al codice.

1

Preferisco utilizzare l'analisi del codice in IntelliJ. Non trova solo molti bug e miglioramenti probabili, ma ha soluzioni rapide per molti di loro che rende pratico risolvere grandi quantità di codice.

+0

mostra anche le convenzioni di denominazione standard? – amod

+1

Conversioni di denominazione standard con soluzioni rapide. cioèse un 'public static final' è in camelCase, evidenzia (o appare in un report) e ti dà la possibilità di rinominarlo in UPPER_CASE cambiando tutti i riferimenti (anche nei commenti, String e file) –

2

Dipende da ciò che stai cercando. Personalmente, utilizzo una combinazione di FindBugs e PMD per l'esecuzione dell'analisi statica del codice Java. Tuttavia, ho recentemente scoperto uno Eclipse plugin called CodePro Analytix by Google.

Esistono due tipi di analisi per il codice Java: analisi del codice sorgente e analisi del codice byte. PMD guarda il codice sorgente per trovare possibili bug, codice inutilizzato, codice subottimale, espressioni complicate e codice duplicato. FindBugs controlla il codice byte generato per trovare possibili errori. Entrambi sono essenziali quando si analizza un'applicazione.

Tuttavia, quando si tratta di trovare difetti, niente batte una buona struttura di test e (se necessario) una libreria di derisione. Ho avuto buoni successi con JUnit e Mockito. Ciò ti consentirà di scrivere test unitari per i tuoi moduli. Anche scrivere sistemi di codice, integrazione e test del fumo, sia utilizzando strumenti automatici sia procedure di test, è importante per poter coprire le funzionalità di base e vedere rapidamente quando qualcosa è rotto.

Problemi correlati