PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It supports Java, JavaScript, XML, XSL.
Available Plugins include:
- Maven PMD.
- Eclipse.
- NetBeans.
- JBuilder.
- JDeveloper.
- IntelliJ IDEA.
PMD additionally includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python, Go.
軟體資訊 |
檔案版本 |
PMD 5.4.2 |
檔案名稱 |
pmd-bin-5.4.2.zip
|
檔案大小 |
27.77MB |
系統 |
Windows (All Versions) |
支援語系 |
Multiple languages |
軟體類型 |
開源軟體 |
更新日期 |
2016-05-30 |
更新日誌 |
# New Supported Languages: - CPD supports now Swift # Feature Request and Improvements: - A JSON-renderer for PMD which is compatible with CodeClimate. - Provide backwards compatibility for PMD configuration file # Modified Rules: - java-design/UseVargs: public static void main method is ignored now and so are methods, that are annotated with Override. # Pull Requests: - Added support for Raw String Literals (C++11). - Added support for files with UTF-8 BOM to JSP tokenizer. - Removed file filter for files that are explicitly specified on the CPD command line using the '--files' command line option. - Added file encoding detection to CPD. - Extended Objective-C grammar to accept UTF-8 escapes (uXXXX) in string literals. - Added support for Swift to CPD. - do not flag public static void main(String[]) as UseVarargs; ignore @Override for UseVarargs - Update mvn-plugin.md - Adds new Code Climate-compliant JSON renderer - #1340 UseStringBufferForStringAppends False Positive with Ternary Operator # Bugfixes: - java-basic/DoubleCheckedLocking:False positives for DoubleCheckedLocking - java-basic/SimplifiedTernary: False positive with ternary operator - java-codesize/TooManyMethods: TooManyMethods counts inner class methods - java-controversial/AvoidUsingShortType: false positive when casting a variable to short - java-design/AccessorClassGeneration: ArrayIndexOutOfBoundsException with Annotations for AccessorClassGenerationRule - java-design/CloseResource: CloseResource false positive on Statement - java-design/UseUtilityClass: UseUtilityClass can't correctly check functions with multiple annotations - java-imports/UnusedImports: False Positve UnusedImports with javadoc @link - java-junit/TestClassWithoutTestCases: Test Class Without Test Cases gives false positive - java-optimizations/UseStringBufferForStringAppends: UseStringBufferForStringAppends False Positive with ternary operator - java-sunsecure/ArrayIsStoredDirectly: False positive of MethodReturnsInternalArray.: False positive of ArrayIsStoredDirectly - java-unnecessary/UnnecessaryFinalModifier: UnnecessaryFinalModifier false positive on a @SafeVarargs method - java-unusedcode/UnusedFormalParameter: UnusedFormalParameter should ignore overriding methods - java-unusedcode/UnusedLocalVariable: UnusedLocalVariable - false positive - parenthesis - java-unusedcode/UnusedModifier: false positive on public modifier used with inner interface in enum # General - PMD doesn't handle Java 8 explicit receiver parameters - Performance degradation scanning large XML files with XPath custom rules - Possible threading issue due to PR#75 - Error with type-bound lambda - no problems found results in blank file instead of empty xml # CLI Changes: - CPD: If a complete filename is specified, the language dependent filename filter is not applied. This allows to scan files, that are not using the standard file extension. If a directory is specified, the filename filter is still applied and only those files with the correct file extension of the language are scanned. - CPD: If no problems found, an empty report will be output instead of nothing. See also #1481 - New command line parameter for PMD: -norulesetcompatibility - this disables the ruleset factory compatibility filter and fails, if e.g. an old rule name is used in the ruleset. See also #1360. This option is also available for the ant task: <noRuleSetCompatibility>true</noRuleSetCompatibility>.
|
作者 |
PMD |
官網 |
暫無資訊 |