PMD può essere utilizzato nella ricerca di possibili errori, & nbsp; duplicare codice, variabili e metodi utilizzati.
Si può anche identificare male eseguire blocchi di codice, inutile "if", ingiustamente espresso "per" loop (che potrebbe essere riscritto come "mentre" loop), e molti altri ancora.
Tutto ciò può portare a problemi di convalida, il codice a lungo di elaborazione o qualsiasi altra questione che possono ostacolare un sito o le prestazioni e la reattività dell'applicazione.
Una porta PHP di PMD può essere trovato qui .
Insieme con PMD, CPD è incluso così, un rilevatore di copia & incolla di frammenti di codice noti da C, C ++, C #, PHP, Ruby, Fortran, JavaScript e Java.
Cosa c'è di nuovo in questa versione:
- modularizzazione del codice sorgente
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.4.1:
- modularizzazione del codice sorgente
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.3.3 / 5.4.0-SNAPSHOT:
- modularizzazione della fonte codice
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.3.2 / 5.4.0-SNAPSHOT:
- modularizzazione della fonte codice
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.3.1 / 5.4.0-SNAPSHOT:
- modularizzazione della fonte codice
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.2.3 / 5.3.0-SNAPSHOT:
- modularizzazione della fonte codice
- CPD ora supporta Vai
Cosa c'è di nuovo nella versione 5.1.1:.
- ShortVariable falsi positivi con for-each loop
- avvertimento StringBuffer non corretto quando la classe non viene utilizzata.
- LexicalError durante l'analisi di codice Java interrompe corsa CPD.
- falso positivo per ConsecutiveAppendsShouldReuse su diversi nomi di variabili.
- UnusedModifier getta NPE durante l'analisi enum con una interfaccia statica nidificato.
- Falso positivo in UnusedPrivateField.
Cosa c'è di nuovo nella versione 5.0.5:
- Bug risolti:
- Plug-in Eclipse non accetta config progetto-locale
- I falsi positivi: Inutile parentesi
- CPD - Tokenizer non inizializzato con proprietà richieste
- ClassCastException in pmd.lang.ecmascript.ast.ASTElementGet
Cosa c'è di nuovo nella versione 5.0.0:
- lingue aggiuntive supporto (Java, JavaScript, XML, XSL, JSP)
- Molte correzioni di bug e nuove regole
- refactoring interno che rompe la compatibilità, ma aggiunge il supporto generico per altre lingue.
- coordinate Maven sono stati cambiati
Cosa c'è di nuovo nella versione 4.3:.
- Aggiungi il supporto per Java 7 grammatica
- Aggiungi C # il supporto per CPD.
- E, come al solito, un po 'di correzioni di bug e un paio di nuove regole (DontCallThreadRun e GuardDebugLogging).
Cosa c'è di nuovo nella versione 4.2.6:
- Modifica (e, si spera fissati) algoritmo CPD grazie a una patch.
- La corretta segnalazione -benchmark delle visite regola tramite il RuleChain.
- problema Fix con il tipo di risoluzione in modo non corretto la gestione di classi con stesso nome di una classe java.lang.
- Il / JSF parser JSP può ora analizzare ingresso Unicode.
- Il parser JSP / JSP è ora in grado di gestire & # x3c; script & # X3e; ... & # x3c; / script & # X3e; tag. Il nodo AST HtmlScript contiene il contenuto.
- Aggiunto ECMAScript come una delle lingue supportate per la CPD.
- Migliorata inclusione / esclusione delle prestazioni pattern matching per fini-con modelli tipo.
Cosa c'è di nuovo nella versione 4.2.5:.
- Correzioni di bug a norme esistenti
- Una nuova regola AvoidThrowingNewInstanceOfSameException in strictexception.xml.
- Un nuovo set di regole android.xml, nuove regole specifiche per la piattaforma Android.
I commenti non trovato