`
aaronjiu_00
  • 浏览: 68931 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PMD 规则集——Optimization Rules

阅读更多

Optimization Rules
优化规则

These rules deal with different optimizations that generally apply to performance best practices.

LocalVariableCouldBeFinal

Since: PMD 2.2

局部变量只被赋值一次可以声明为final.

This rule is defined by the following Java class: net.sourceforge.pmd.rules.optimization.LocalVariableCouldBeFinal

例子:

public class Bar {
 public void foo() {
  String a = "a"; // if a will not be assigned again it is better to do this:
  final String b = "b";
 }
}         

MethodArgumentCouldBeFinal

Since: PMD 2.2

从来没有赋过值的方法参数可以声明为final.

This rule is defined by the following Java class: net.sourceforge.pmd.rules.optimization.MethodArgumentCouldBeFinal

Example: 
  

public void foo (String param) {
  // do stuff with param never assigning it
  // better: public void foo (final String param) {
}

           

AvoidInstantiatingObjectsInLoops

Since: PMD 2.2

侦测在循环中创建一个新对象

This rule is defined by the following Java class: net.sourceforge.pmd.rules.optimization.AvoidInstantiatingObjectsInLoops

Example:                

public class Something {
  public static void main( String as[] ) {  
    for (int i = 0; i < 10; i++) {
      Foo f = new Foo(); //Avoid this whenever you can it's really expensive
    }
  }
}

    
           

UseStringBufferForStringAppends

Since: PMD 3.1

查找使用+= 追加字符串。

This rule is defined by the following Java class: net.sourceforge.pmd.rules.optimization.UseStringBufferForStringAppends

例子:                
      
      

public class Foo {
 void bar() {
  String a;
  a = "foo";
  a += " bar";
  // better would be:
  // StringBuffer a = new StringBuffer("foo");
  // a.append(" bar);
 }
}

 
           
           

UnnecessaryWrapperObjectCreation

Since: PMD 3.8

Parsing method 应该直接地调用Parsing方法。

This rule is defined by the following Java class: net.sourceforge.pmd.rules.optimization.UnnecessaryWrapperObjectCreation

例子:                

public int convert(String s) {
  int i, i2;

  i = Integer.valueOf(s).intValue(); // this wastes an object
  i = Integer.parseInt(s); // this is better

  i2 = Integer.valueOf(i).intValue(); // this wastes an object
  i2 = i; // this is better

  return i2;
}

           

评论

相关推荐

    PMD规则集说明(java包)中文

    java代码静态分析工具 - PMD规则集说明(java包)中文 自己手工搜集,中英文说明,参数说明等

    PMD的规则文件

    规则集是一系列相关规则的集合,通常按类别划分,如设计、冗余代码、复杂度等。在XML文件中,规则集以`&lt;ruleset&gt;`标签表示,包含多个规则定义。 2. **规则(Rule)** 每个规则代表一个特定的检查,如“避免使用空...

    在eclipse中修改java格式化模板、checkstyle和pmd规则集的方法

    本教程将详细介绍如何在 Eclipse 中配置和替换 Checkstyle、PMD 的规则集,以及如何修改代码格式化模板。 首先,我们来了解一下 Checkstyle。Checkstyle 是一个开源项目,它提供了对 Java 代码风格的检查,包括但不...

    静态分析工具PMD规则翻译合集

    1. **基础规则(Basic Rules)**:基础规则集包含了应被广泛遵循的良好编程实践。例如,检查是否正确使用了if、else、for、while等语句的花括号,避免出现空的或者无效的代码块。 2. **大括号规则(Braces Rules)*...

    在eclipse中修改checkstyle和pmd规则集的方法

    本文将详细介绍如何在Eclipse中修改Checkstyle和PMD的规则集。 首先,让我们了解这两个工具的基础知识: **Checkstyle** 是一个静态代码分析工具,它根据预定义或自定义的编码规范检查Java源代码,以发现潜在的...

    PMD集成myeclipse及PMD规则说明

    2. **配置PMD设置**:在MyEclipse的首选项或设置中找到PMD选项,配置规则集,选择想要应用的PMD规则。 3. **启用PMD检查**:在项目的构建路径或编译器设置中开启PMD,设置检查级别,如错误或警告。 4. **运行PMD检查...

    JAVA PMD规则 详解

    通过一系列预定义的规则集,PMD可以帮助开发者编写出更高质量、更易维护的代码。BasicRules是PMD提供的一组核心规则,包含了每个开发人员都应该遵循的基本编程实践。 #### 二、重要规则解析 1. **EmptyCatchBlock...

    在eclipse中修改checkstyle和pmd、FindBugs规则集的方法

    ### 在Eclipse中修改Checkstyle、PMD及FindBugs规则集的方法 #### 一、Checkstyle规则集的修改 **1. 替换Checkstyle规则集** 在Eclipse中更新Checkstyle规则集通常涉及几个步骤: - **备份现有配置**:首先确保...

    sonar5.4-PMD规则插件

    3. **配置规则**:在SonarQube的管理界面中,可以设置PMD的规则集,选择启用哪些规则,以及调整规则的严重级别。 4. **执行分析**:在项目分析时,SonarQube会自动运行PMD插件,并将结果展示在项目仪表板上,以便...

    pmd-rules:自定义PMD规则

    PMD通过自定义规则集可以满足特定项目的质量控制需求。在Motech项目中,自定义PMD规则被用来提升代码质量,特别是针对注释掉的代码进行检查。 **一、PMD工作原理** PMD通过解析Java源代码,运用正则表达式和语法树...

    PMD_ruleset规则配置文件

    PMD_ruleset规则文件,已经最基本的验证进行了导入。在Eclipse导入即可

    PMD检测规则

    PMD是一款开源的静态代码检测工具,可以检查代码的质量问题,文件是对PMD检测规则进行说明,解压密码:PMD。

    pmd-rulesets:Java应用程序的PMD规则

    **PMD规则集详解——优化Java应用程序的关键** PMD(Pattern Matching for Java)是一款静态代码分析工具,旨在帮助开发者发现并修复代码中的潜在问题、不良习惯和可能的错误。PMD通过检查源代码来实现这一目标,它...

    eclipse代码检查工具PMD规则列表

    自己整理的PMD检查的各个规则说明,其中打○的是我自己用的规则,大家自己按实际需要选择吧,有不对的地方请多多指教。

    PMD的使用说明-简介、工作原理、安装运行、规则等

    需要在build.xml文件中配置PMD的规则集和要分析的目标源代码路径。 5. 关于 PMD 规则 PMD的规则分为多个类别,如Design、Error Prone、Performance、Maintainability和Best Practices。每个规则都有一个独特的ID,...

    PMD集成eclipse插件

    1. **配置规则集**: 安装完成后,可以在Eclipse的首选项设置中配置PMD规则集,选择想要启用的规则。PMD提供了多种内置规则集,如基本、最佳实践、设计、冗余代码等,可以根据项目需求自定义。 2. **运行分析**: 在...

    PMDPlugin for IDEA IDEA PMD插件

    2. **定制规则集**:PMD支持自定义规则集,允许开发者根据团队的编码规范和项目需求调整检查规则,以更好地匹配项目特性。 3. **代码优化**:PMD不仅能发现潜在的bug,还能识别出可能导致性能下降的代码,例如未...

    PMD对java程序分析实验报告

    PMD的核心功能是通过解析Java源代码,应用预定义的规则集来检查代码中的问题。这些规则涵盖了许多方面,包括可能的空指针异常、未使用的变量、过长的方法、复杂的条件表达式等。PMD不仅支持命令行使用,还提供了集成...

    PMD Eclipse 插件

    1. **配置规则集:** 安装完成后,可以在 "Window" -&gt; "Preferences" -&gt; "PMD" 中配置 PMD 规则集。这里可以选择预设的规则集,如 "Basic"、"Design"、"Naming" 等,也可以自定义规则集。 2. **运行 PMD 检查:** ...

Global site tag (gtag.js) - Google Analytics