PMD είναι μια ανοικτή πηγή αναλυτής που μπορούν να χρησιμοποιηθούν σε Java πηγαίο κώδικα.
PMD βρίσκει αχρησιμοποίητα μεταβλητές, άδειο μπλοκ των αλιευμάτων, περιττή τη δημιουργία αντικειμένων, και πολλά άλλα.
PMD είναι ενσωματωμένη με JDeveloper, Eclipse, jedit, JBuilder, το BlueJ, CodeGuide, NetBeans / Sun Java Studio Enterprise / Δημιουργός, IntelliJ IDEA, TextPad, Maven, Αντ, Gel, JCreator, και το Emacs.
Τι είναι καινούργιο σε αυτή την έκδοση:
- Bugfixes:
- # 1364: FieldDeclarationsShouldBeAtStartOfClass ψευδώς θετικά με τη χρήση πολλαπλών σχολιασμούς
- # 1365: συγκεντρωτική έκθεση javadoc λείπει
- # 1366: UselessParentheses ψευδώς θετικά σε πολλούς φορείς ισότητας
- # 1369: ConsecutiveLiteralAppends δεν ανιχνεύεται σωστά στη StringBuffer
- # 1372:. ψευδώς αρνητικά για τον κανόνα CloseResource
- # 1375: CloseResource δεν ανιχνεύεται σωστά
- # 1376: CompareObjectsWithEquals αποτυγχάνει για τον τύπο σχολιασμένη παράμετρο της μεθόδου
- # 1379: PMD CLI: Δεν μπορεί να οριστεί πολλαπλές ιδιότητες
- # 1381: CPD δεν είναι δυνατή η χρήση CSV / VS Renderers επειδή δεν υποστηρίζουν την κωδικοποίηση ιδιοκτησίας
Τι είναι καινούργιο στην έκδοση 5.3.3:
- Bugfixes:
- # 1364: FieldDeclarationsShouldBeAtStartOfClass ψευδώς θετικά με τη χρήση πολλαπλών σχολιασμούς
- # 1365: συγκεντρωτική έκθεση javadoc λείπει
- # 1366: UselessParentheses ψευδώς θετικά σε πολλούς φορείς ισότητας
- # 1369: ConsecutiveLiteralAppends δεν ανιχνεύεται σωστά στη StringBuffer
- # 1372:. ψευδώς αρνητικά για τον κανόνα CloseResource
- # 1375: CloseResource δεν ανιχνεύεται σωστά
- # 1376: CompareObjectsWithEquals αποτυγχάνει για τον τύπο σχολιασμένη παράμετρο της μεθόδου
- # 1379: PMD CLI: Δεν μπορεί να οριστεί πολλαπλές ιδιότητες
- # 1381: CPD δεν είναι δυνατή η χρήση CSV / VS Renderers επειδή δεν υποστηρίζουν την κωδικοποίηση ιδιοκτησίας
Τι είναι καινούργιο στην έκδοση 5.1.0:
- Αυτή η έκδοση προσθέτει υποστήριξη για Java 1.8, PLSQL, και Apache ταχύτητας.
Τι είναι καινούργιο στην έκδοση 5.0.5:.
- Αυτή είναι μια απελευθέρωση συντήρησης με πολλές διορθώσεις σφαλμάτων
Τι είναι καινούργιο στην έκδοση 5.0.4:.
- Αυτή είναι μια απελευθέρωση συντήρησης με πολλές διορθώσεις σφαλμάτων
Τι είναι καινούργιο στην έκδοση 5.0.3:.
- Αυτή είναι μια απελευθέρωση συντήρησης με πολλές διορθώσεις σφαλμάτων
Τι είναι καινούργιο στην έκδοση 5.0.1:
- Fixed bug 820: Λάθος AvoidReassigningParameters +
- Διορθώθηκε σφάλμα 1008: PMD-5.0.0: ImmutableField ψευδώς θετικά στην αυτο-inc / DEC
- Διορθώθηκε σφάλμα 1009: PMD-5.0.0: Λάθος UselessParentheses +
- Διορθώθηκε σφάλμα 1003: αλλαγή γραμμής χαρακτήρων απογυμνωθεί από τα δεδομένα CPD σε PMD 5.0.0
- Διορθώθηκε σφάλμα 1001: InsufficientStringBufferDeclaration αποτυγχάνει να αναλύσει εξάγωνο
- Fixed bug 522: InefficientStringBuffering σφάλμα ψευδή +
- Fixed bug 953: String.InefficientStringBuffering ψευδή +
- Fixed bug 981: Δεν είναι δυνατή η ανάλυση Fixed bug 1010: PMD: parsing των γενικών κλήση μεθόδου με σούπερ αποτύχει
- Fixed bug 996: PMD-4.2.6: MissingBreakInSwitch δεν παρουσιαστεί παραβίαση
- Fixed bug 993: Άκυρα υπολογισμό NPath στην εκκαθαριστική δήλωση. Χάρη στην Prabhjot Singh για το έμπλαστρο.
- Διορθώθηκε σφάλμα 1023: C / C ++ ως χαρακτήρας συνέχισης δεν υποστηρίζονται
- Διορθώθηκε σφάλμα 1033: Λάθος +: SingularField
- Διορθώθηκε σφάλμα 1025: Υποχώρηση Crash σε PMDTask λόγω multithreading (Eclipse και Java 1.5)
- Διορθώθηκε σφάλμα 1017: Ψήφισμα Τύπος πολύ αργή για μεγάλο έργο. Χάρη στη ρωμαϊκή για το έμπλαστρο.
- Διορθώθηκε σφάλμα 1036: Τεκμηρίωση: προκαθορισμένες τιμές κατωφλίου αφαιρεθεί από Fixed bug v5.0 1035: UseObjectForClearerAPI έχει ορθογραφικά λάθη, το μήνυμα
- Διορθώθηκε σφάλμα 1031: ψευδείς DontImportJavaLang
- Διορθώθηκε σφάλμα 1034: UseConcurrentHashMap σημαίες καλεί τις μεθόδους που επιστρέφουν Χάρτης
- Διορθώθηκε σφάλμα 1006: Πρόβλημα με την εφαρμογή της μεθόδου getPackageNameImage Fixed bug 1014: AvoidLiteralsInIfCondition δεν πρέπει να θεωρούμε άκυρη
- Διορθώθηκε σφάλμα 1013: JNLP σύνδεσμο για CPD είναι λάθος
- PMD εντολή αλλάζει γραμμή:
- Βελτιωμένη διεπαφή γραμμής εντολών (CLI) χρησιμοποιώντας JCommander ανάλυσης. Σημείωση:. Αυτό σπάει τη συμβατότητα, αλλά θα πρέπει να είναι εύκολο να καθοριστεί
- Με & quot? -D & quot? καθορίζετε nowtThe κατάλογο αρχεία πηγή / να σαρωθεί.
- Με & quot? -f & quot? μπορείτε να επιλέξετε τη μορφή έκθεσης (όπως κείμενο, html, ...)
- Με & quot? -R & quot? μπορείτε να επιλέξετε τις συνόλου κανόνων που πρέπει να χρησιμοποιούνται.
- Παράδειγμα: PMD -DC: data PMD PMD test-data Unused1.java -f xml -R ενός συνόλου κανόνων / java / unusedcode.xml
- Βελτιωμένη JSP αναλυτή να είναι λιγότερο αυστηροί με μη έγκυρα έγγραφα XML (όπως HTML). Χάρη στον Βίκτωρα Bucutea.
- Σταθερή bgastviewer δεν λειτουργεί. Χάρη στον Βίκτωρα Bucutea.
- Βελτιωμένη CPD: Υποστήριξη σε CPD για IgnoreAnnotations και SuppressWarnings (& quot? CPD-START & quot?). Χάρη στο Matthew Short.
- Σταθερή C # υποστήριξη για CPD -. χάρη στην Tiobe Λογισμικό
- Νέα EcmaScript κανόνες: Βασικές ruleset: AvoidTrailingComma
Τι είναι καινούργιο στην έκδοση 5.0.0:
- Αυτή είναι μια σημαντική έκδοση του PMD υποστηρίζουν επιπλέον γλώσσες και τους νέους κανόνες.
- Οι γλώσσες που υποστηρίζονται είναι Java, JavaScript, XML, XSL, και JSP. Πολλά σφάλματα έχουν καθοριστεί και τους νέους κανόνες, πρόσθεσε.
- Η εσωτερική συνοχή διαλείμματα refactoring με τις προηγούμενες εκδόσεις, αλλά προσθέτει γενικότερη υποστήριξη για περισσότερες γλώσσες.
- Οι συντεταγμένες maven έχουν επίσης αλλάξει: net.sourceforge.pmd:. PMD
Τι είναι καινούργιο στην έκδοση 4.2.6:.
- Αυτή η έκδοση περιλαμβάνει διορθώσεις στους υφιστάμενους κανόνες
- Έχει τροποποιηθεί (και ελπίζουμε σταθερό) τον αλγόριθμο CPD.
- Η JSP / JSF αναλυτή μπορεί τώρα να αναλύσει Unicode εισόδου.
- Ο αναλυτής JSP / JSP μπορούν πλέον να χειριστεί ... ετικέτες.
- Ο κόμβος AST HtmlScript περιέχει το περιεχόμενο.
- EcmaScript έχει προστεθεί ως μια υποστηριζόμενη γλώσσα για CPD.
Τι είναι καινούργιο στην έκδοση 4.2.5:
- Αυτή η έκδοση περιλαμβάνει διορθώσεις στους υφιστάμενους κανόνες, ο νέος AvoidThrowingNewInstanceOfSameException κανόνα strictexception.xml, και το νέο σύνολο κανόνων android.xml για νέους κανόνες ειδικά για την πλατφόρμα Android.
Τι είναι καινούργιο στην έκδοση 4.2.3:
- JavaCC δημιουργούνται αντικείμενα ενημερωθεί για JavaCC 4.1d1
- Java γραμματική ενισχυθεί ώστε να συμπεριλάβει AnnotationMethodDeclaration ως μητρική κόμβο που σχετίζονται με τη μέθοδο των παιδιών της AnnotationTypeMemberDeclaration Διορθώσεις για να αποκλείσει-πρότυπο ενημερώσεις για RuleChain να τιμήσει σύνολο κανόνων αποκλείσει-πρότυπο Αναβάθμιση UselessOperationOnImmutable να ανιχνεύσει περισσότερες περιπτώσεις χρήσης, ειδικά σε String και να διορθώσετε false positives Fixed bug 1988829 - Παραβίαση αναφερθεί χωρίς όνομα αρχείου προέλευσης (στην πραγματικότητα μια λύση για να ConsecutiveLiteralAppends) Fixed bug 1,989,814 - ψευδείς +: ConsecutiveLiteralAppends Fixed bug 1977230 - ψευδώς θετικά: UselessOverridingMethod Fixed bug 1998185 - BeanMembersShouldSerialize vsSuppressWarnings (& quot? αύξοντα & quot?) Fixed bug 2.002.722 - ψευδείς + σε UseStringBufferForStringAppends Fixed bug 2056318 - Ψευδώς θετικά για AvoidInstantiatingObjectsInLoops Fixed bug 1977438 - Ψευδώς θετικά για UselessStringValueOf Fixed bug 2050064 - Λάθος + SuspiciousOctalEscape με ανάποδη κυριολεκτική Fixed bug 1.556.594 - Wonky ανίχνευση NullAssignment βελτιστοποιήσεις και ψευδώς θετικές διορθώσεις στο PreserveStackTraceSuppressWarnings (& quot? όλα & quot? ) απενεργοποιεί όλες τις προειδοποιήσεις Όλοι οι τύποι σχόλιο αποθηκεύονται στο ASTCompilationUnit, όχι μόνο τα επίσημα Σταθερή ψευδώς αρνητικά στην UselessOverridingMethod Σταθερή χειρισμό των χαρακτήρων διαφυγής σε UseIndexOfChar και AppendCharacterWithChar
Τα σχόλια δεν βρέθηκε