免費軟體資源 soft.registry
⚠ 這是歷史版本頁面 — 查看 PMD 最新版本 →
PMD 圖示

PMD 5.4.2

v 5.4.2
Windows 開源軟體 9/10 (2)
  • 目前版本5.4.2
  • 更新日期2016-05-30
  • 檔案大小27.77MB
  • 檔案名稱pmd-bin-5.4.2.zip
  • 作業系統Windows (All Versions)
  • 支援語系Multiple languages
  • 授權型式開源軟體
  • 開發商 PMD
  • 軟體分類Windows 軟體 / 開發者工具
##

軟體介紹

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.

##

更新日誌

5.4.2

# 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>.

##

歷史版本

完整清單 →