2010-04-28 16 views

risposta

11

Checkstyle è uno strumento di sviluppo per aiutare i programmatori a scrivere codice Java che aderisce ad uno standard di codifica. Automatizza il processo di controllo del codice Java per risparmiare gli utenti di questo compito noioso (ma importante). Questo lo rende ideale per i progetti che vogliono applicare uno standard di codifica. Checkstyle è altamente configurabile e può essere realizzato per supportare quasi tutti gli standard di codifica. Viene fornito un file di configurazione di esempio che supporta le convenzioni Sun Code. Inoltre, vengono forniti altri file di configurazione di esempio per altre convenzioni note.

PMD è integrato con JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creatore, IntelliJ IDEA, TextPad, Maven, Formica, Gel, JCreator ed Emacs.

FindBugs utilizza l'analisi statica per ispezionare bytecode Java per le occorrenze di modelli di bug. Analisi statiche significa che FindBugs può trovare bug semplicemente ispezionando il codice di un programma: l'esecuzione del programma non è necessaria. Questo rende i FindBugs molto facili da usare: in generale, dovresti essere in grado di usarlo per cercare bug nel tuo codice entro pochi minuti dal download. FindBugs funziona analizzando il bytecode Java (file di classe compilati), quindi non è nemmeno necessario il codice sorgente del programma per utilizzarlo. Poiché la sua analisi è talvolta imprecisa, FindBugs può segnalare falsi allarmi, che sono avvertimenti che non indicano errori reali. In pratica, il tasso di falsi allarmi segnalati da FindBugs è inferiore al 50%.

+0

PMD è integrato in jDeveloper, è necessario "attivarlo"? Funziona di default? NM- Ho appena visto http://pmd.sourceforge.net/integrations.html e sembra che debba essere installato e quindi attivato. Ho pensato che fosse integrato. – ProfessionalAmateur

4

Io uso Checkstyle per garantire che il codice segua determinate regole. Checkstyle è disponibile anche come plugin for Eclipse.

+0

Link non funziona per controllare e ha provato a configurare in Eclipse pure – gmhk

+0

Entrambi i collegamenti funzionano per me. Se c'è un problema con l'installazione del plugin sul tuo computer, non è colpa mia. Allora perché il downvote? – Ham

2

Cosa c'è di sbagliato in un po 'di autodisciplina? Se non puoi farlo per qualcosa di banale come la formattazione, non spero molto per altri aspetti di qualità del codice.

+0

Come puoi essere sicuro che ogni singola persona del tuo team sia a conoscenza delle convenzioni del codice? – folone

+0

@folone, quando @Tim Hawtin - tackline esegue il codice della sua squadra tramite Checkstyle, è senza dubbio perfetto al 100% ogni volta. Vorrei poter dire lo stesso per il mio codice. –

+0

C'è una filosofia di sviluppo che un umano non dovrebbe mai fare quello che un computer può fare. Sì, quando si scrive codice, aderisce alle convenzioni il 95% delle volte. Passo ora un'ora a cercare l'ultimo 5% o semplicemente uso uno strumento come "jalopy" o il formatter di eclipse per farlo per me. Ti darò una ipotesi. – bgiles

0

Io uso Checkstyle presso la mia azienda, però solo per gli assegni javadoc.

È bello nel modo in cui è possibile configurare diversi moduli per includere elementi da controllare e anche su quali livelli (come in protetto, pubblico, privato ecc.).

Un avviso preliminare è che per il controllo javadoc è necessario specificare esplicitamente se un metodo è consentito a throw diverse eccezioni. Questo perché i creatori pensano che sia un cattivo progetto avere un metodo per lanciare più di un'eccezione (in altre parole cercano di controllare il design, non l'IMHO correlato).

5

Checkstyle e FindBugs e PMD. Gli ultimi due sono molto più che semplici strumenti di stile. Ma di solito c'è uno sforzo da fare per ottenere un accordo tra i membri del team e, oltre che per la configurazione dello strumento.

0

Avere un documento di standard di codifica distribuito a tutti gli sviluppatori del team/dipartimento/organizzazione è un buon inizio.

+1

Non sono sicuro, come assicurate che tutti lo leggano e lo ricordino, anche dopo ogni piccolo cambiamento. Se vuoi assicurarti che le persone perdono un sacco di sforzi e motivazione. Altrimenti sarà solo un altro documento che nessuno legge. – bertolami

+0

L'uso deve essere obbligatorio. Se si desidera avere uno standard di codifica, è necessario un modo per descrivere quello standard e una politica per garantire che tutti aderiscano allo standard. Lo standard di codifica non dovrebbe avere molte piccole modifiche apportate ad esso una volta pubblicato. Ho trovato che il modo migliore è quello di avere un accordo di alto livello sugli standard di codifica di base (come la leggibilità e la chiarezza) e non preoccuparsi troppo delle minuzie del posizionamento delle staffe ecc. YMMV. Ovviamente gli sviluppatori junior hanno bisogno di più indicazioni rispetto ai più esperti. – t0ne

4

In aggiunta a quanto sopra, lo Jalopy è un ottimo strumento per la formattazione del codice.

0

Gli avvisi del compilatore eclipse e il programma di formattazione del codice fanno il lavoro per noi. Anche se sono consapevole del fatto che checkstyle esegue un controllo un po 'più semantico per la progettazione effettiva del codice, piuttosto che semplicemente lo stende in modo sensato.

4

Puoi dare un'occhiata a Sonar. È un progetto open source che facilita davvero l'esecuzione di Checkstyle, PMD e Findbugs.

Problemi correlati