PMD μπορεί να χρησιμοποιηθεί για την εξεύρεση πιθανών σφάλματα, & nbsp? εις διπλούν κώδικα, αχρησιμοποίητα μεταβλητές και μεθόδους.
Μπορεί επίσης να προσδιορίσει άσχημα εκτέλεση μπλοκ κώδικα, περιττό «αν» δηλώσεις, άδικα εξέφρασε "για" βρόχους (που θα μπορούσε να ξαναγραφεί ως ", ενώ" βρόχους), και πολλά άλλα περισσότερο.
Όλα αυτά μπορούν να οδηγήσουν σε προβλήματα επικύρωσης, κωδικός μακράς επεξεργασίας ή οποιαδήποτε άλλα θέματα που μπορεί να εμποδίσουν μια τοποθεσία ή τις επιδόσεις τους και την ικανότητα εφαρμογής.
Ένα λιμάνι PHP του PMD μπορεί να βρεθεί εδώ .
Μαζί με PMD, CPD περιλαμβάνεται επίσης, έναν ανιχνευτή copy & paste για γνωστούς δημιουργίας ενός κώδικα από C, C ++, C #, PHP, Ruby, Fortran, JavaScript και Java.
Τι είναι καινούργιο σε αυτήν την έκδοση:
- Modularization του πηγαίου κώδικα
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.4.1:
- Modularization του πηγαίου κώδικα
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.3.3 / 5.4.0-ΣΤΙΓΜΙΟΤΥΠΟ:
- Modularization της πηγής κωδικός
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.3.2 / 5.4.0-ΣΤΙΓΜΙΟΤΥΠΟ:
- Modularization της πηγής κωδικός
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.3.1 / 5.4.0-ΣΤΙΓΜΙΟΤΥΠΟ:
- Modularization της πηγής κωδικός
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.2.3 / 5.3.0-ΣΤΙΓΜΙΟΤΥΠΟ:
- Modularization της πηγής κωδικός
- CPD υποστηρίζει τώρα Πηγαίνετε
Τι είναι καινούργιο στην έκδοση 5.1.1:.
- ShortVariable ψευδώς θετικά με την προς κάθε βρόχους
- Λανθασμένη προειδοποίηση StringBuffer όταν δεν χρησιμοποιείται αυτή η κατηγορία.
- LexicalError κατά την ανάλυση του κώδικα Java ματαιώνει CPD τρέξιμο.
- False Positive για ConsecutiveAppendsShouldReuse σε διαφορετικά ονόματα των μεταβλητών.
- UnusedModifier ρίχνει NPE όταν parsing enum με μια ένθετη στατικό περιβάλλον.
- Ψευδώς θετικά στην UnusedPrivateField.
Τι είναι καινούργιο στην έκδοση 5.0.5:
- Σταθερή σφάλματα:
- Eclipse plugin δεν δέχεται έργο των τοπικών config
- Ψευδώς θετικά: Άχρηστο παρενθέσεις
- CPD - Tokenizer δεν αρχικοποιείται με ζητούνται ιδιότητες
- ClassCastException στο pmd.lang.ecmascript.ast.ASTElementGet
Τι είναι καινούργιο στην έκδοση 5.0.0:
- Πρόσθετες γλώσσες υποστήριξης (Java, JavaScript, XML, XSL, JSP)
- Πολλές διορθώσεις σφαλμάτων και των νέων κανόνων
- Εσωτερική refactoring που σπάει τη συμβατότητα, αλλά προσθέτει γενική υποστήριξη για πρόσθετες γλώσσες.
- Οι συντεταγμένες Maven έχει αλλάξει
Τι είναι καινούργιο στην έκδοση 4.3:.
- Προσθέστε υποστήριξη για Java 7 γραμματική
- Προσθέστε C # υποστήριξη για CPD.
- Και, ως συνήθως, ένα μάτσο διορθώσεις σφαλμάτων και ένα ζευγάρι νέων κανόνων (DontCallThreadRun και GuardDebugLogging).
Τι είναι καινούργιο στην έκδοση 4.2.6:
- Τροποποίηση (και ελπίζω σταθερό) αλγόριθμο CPD χάρη στην ένα patch.
- Η σωστή αναφορά -benchmark των επισκέψεων κανόνα μέσω του RuleChain.
- θέμα Fix με Τύπος Ψήφισμα λάθος χειρισμό των κατηγοριών με το ίδιο όνομα ως τάξη java.lang.
- Η / JSF αναλυτής JSP μπορούν τώρα να αναλύσει είσοδο Unicode.
- Το πρόγραμμα ανάλυσης JSP / JSP μπορούν πλέον να χειριστεί & # X3C? Σενάριο & # x3e? ... & # X3C? / Σενάριο & # x3e? ετικέτες. Ο κόμβος AST HtmlScript περιέχει το περιεχόμενο.
- Προστέθηκε EcmaScript ως υποστηριζόμενη γλώσσα για CPD.
- Βελτιωμένη συμπεριλαμβάνονται / εξαιρούνται μοτίβο που ταιριάζουν απόδοσης για άκρα, με σχέδια τύπου.
Τι είναι καινούργιο στην έκδοση 4.2.5:.
- Διορθώσεις σφαλμάτων των υφιστάμενων κανόνων,
- Ένα νέο κανόνα AvoidThrowingNewInstanceOfSameException στο strictexception.xml.
- Ένα νέο σύνολο κανόνων android.xml, για τους νέους κανόνες ειδικά για την πλατφόρμα Android.
Τα σχόλια δεν βρέθηκε