zoukankan      html  css  js  c++  java
  • PMD -- An extensible cross-language static code analyzer.

    PMD

    An extensible cross-language static code analyzer.

    https://github.com/pmd/pmd

    跨语言静态代码分析工具。可以查找通用的编码错误,例如 未使用的变量、空catch块、非必须的对象创建、等等。

    另外,它也包括CPD工具, 复制-黏贴-检查工具。可以检查出代码中的重复部分。

    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, Salesforce.com Apex and Visualforce, PLSQL, Apache Velocity, XML, XSL.

    Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in Java, C, C++, C#, Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python, Go, Swift and Salesforce.com Apex and Visualforce.

    Welcome to PMD

    https://pmd.github.io/pmd-5.8.1/

    能处理以下潜在的问题:

    1、 可能的bug -- 空特定语句块。

    2、无效代码 -- 未使用的局部变量、参数、私有方法。

    3、次优代码 -- 浪费使用 String StringBuffer。

    4、过于复杂的表达式 -- 非必要的if语句、for语句。

    5、重复代码 -- 拷贝-复制方式生成的代码。

    PMD scans source code in Java and other languages and looks for potential problems like:

    • Possible bugs - empty try/catch/finally/switch statements
    • Dead code - unused local variables, parameters and private methods
    • Suboptimal code - wasteful String/StringBuffer usage
    • Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
    • Duplicate code - copied/pasted code means copied/pasted bugs

    重复代码检查

    https://pmd.github.io/pmd-5.8.1/usage/cpd-usage.html

    For Linux, there is since PMD 5.0 a combined start script for all command line tools. This includes CPD. The start script is called run.sh and is located in the bin subdirectory in the PMD binary distribution zip-file. Let’s assume, you are in this directory, then you can start CPD this way:

    1. ./run.sh cpd --minimum-tokens 100 --files c: empsrcjava

    The options “minimum-tokens” and “files” are the two required options; there are more options, see below.

    。。。。

  • 相关阅读:
    hihoCoder #1179 : 永恒游戏 (暴力枚举)
    HDU 5269 ZYB loves Xor I (二分法)
    HDU 5268 ZYB loves Score (简单模拟,水)
    acdream 1683 村民的怪癖(KMP,经典变形)
    acdream 1686 梦醒(时钟重合)
    acdream 1685 多民族王国(DFS,并查集)
    acdream 1681 跳远女王(BFS,暴力)
    HDU 5265 pog loves szh II (技巧)
    HDU 5264 pog loves szh I (字符串,水)
    HDU 1023 Train Problem II (卡特兰数,经典)
  • 原文地址:https://www.cnblogs.com/lightsong/p/7653431.html
Copyright © 2011-2022 走看看