以下是我在检查项目pmd的时候积累下来的,和大家分享下,呵呵。
1:
Use equals() to compare strings instead of '==' or '!='
解释:
使用equals()比较,而不是字符串'=='或'!='
2:
String.indexOf(‘char’)的速度比String.indexOf(“字符串”)。
解释:
比如String.indexOf('d')的速度就比String.indexOf("d")要快
3:
Avoid if (x != y) ..; else ..;
解释:
pmd说避免把判断非摆在前面,这样会引起阅读混淆,要判断的话,就把 == 的放在前面,掉转下就好的,容易读和理解。
4:
x.equals("2"); // should be "2".equals(x)
that way if the String is null you won't get a NullPointerException, it'll just return false
解释:
如果参数在前面,如果参数是空的话,程序会抛出NullPointerException,所以
应该把确定的字符串放在前面,把参数放在括号里面
5
建议:Substitute calls to size() == 0 (or size() != 0) with calls to isEmpty()
意思是说对List类的if(list.size()==0),建议使用isEmpty()来操作
6
if (Integer.parseInt(newInput) == 0)
{
return true;
} else
{
return false;
}
没有必要为一个返回true和false的行为做if else 直接
eturn Integer.parseInt(newInput) == 0 就行了
7:
public class Foo {
public int foo() {
int x = doSomething();
return x; // instead, just 'return doSomething();'
}
}
Avoid unnecessarily creating local variables
如果只是返回doSomething的返回值,就没必要在弄一个实体了
8:
String.trim()。长度()== 0是一种低效的方法来验证一个空字符串。
9:
public class Foo {
private int x; //Why bother saving this?
public void foo(int y) {
x = y + 5;
return x;
}
}
如果x只用于foo这个方法。那么。建议放在foo里面当局部变量不要做全局变量了
10:
用equals来判断好过 ==
11:
判空用isEmpty
12
private List<MenuFunction> menuFunctionList = new ArrayList<MenuFunction>();
而不要
private ArrayList<MenuFunction> menuFunctionList = new ArrayList<MenuFunction>();
好像是说更支持多态吧。我也不知道,感觉大吃小总比小吃小好。List吃Arraylist.
分享到:
相关推荐
3. **防错功能**:PMD能检测出可能导致运行时错误的代码,如空指针异常、除零错误等,提前预防程序运行时的问题。 4. **性能优化**:PMD还能帮助识别潜在的性能瓶颈,例如不必要的对象创建、未正确关闭的资源等,...
PMD 是一个静态代码分析工具,主要用于检查 Java 代码的质量和可读性。下面是 PMD 的使用指南,包括安装、运行、规则配置和自定义规则等方面的内容。 安装和运行 PMD 可以通过命令行或在 Eclipse 中安装插件两种...
3. **冗余代码检测**:识别并标记出重复的代码段,有助于代码的优化和重构。 4. **效率优化建议**:提供性能优化提示,如避免使用效率低下的数据结构或算法,减少不必要的计算等。 5. **安全问题扫描**:检查代码中...
**PMD代码规范工具详解** PMD是一款广泛应用于Java开发领域的静态代码分析工具,它的主要目的是在代码执行之前,通过扫描源代码来发现潜在的问题。这些问题可能包括编程错误、不良实践、性能瓶颈以及不符合编码规范...
5. **CPD(Copy-Paste Detector)**:PMD还包含了CPD模块,用于检测代码中的重复片段,这对于识别和消除代码重复,提高代码复用性非常有帮助。 6. **性能优化**:PMD通过对源代码的分析,能够指出可能影响性能的...
5. **重复代码检测**:PMD的CPD(Copy-Paste Detector)模块可以查找代码中的重复片段,这对于避免代码冗余和提高代码复用率非常有帮助。 6. **自定义规则集**:除了预设的规则外,用户还可以自定义自己的规则集,...
1. **代码质量检查**:PMD能够检测出未使用的变量、空的catch块、不必要的对象创建等常见问题,这些都是可能导致程序运行效率降低或引发错误的因素。 2. **设计问题识别**:PMD可以识别过度复杂的设计结构,如过深...
1. **代码质量检查**:PMD可以检测出过长的方法、类和变量名,未使用的局部变量和参数,以及可能导致性能问题的代码模式,比如过多的数据库查询或不必要的对象创建。 2. **最佳实践推广**:它鼓励遵循Java编程的...
1. **错误预防**:PMD能够检测出常见的编程错误,如未关闭的资源、空的catch块、不正确的比较操作等,避免运行时异常的发生。 2. **代码复杂性分析**:PMD可以帮助识别过长的方法、过深的继承层次、过大的类等问题...
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...
2. **FindBugs检查**:使用方法与PMD和CheckStyle相似,可以实时检测代码中的潜在问题,如空指针异常、资源未关闭等问题。 3. **规则定制**:FindBugs的规则定制能力相对较弱,只能在其提供的基础规则上进行调整。 ...
PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。 ...
**PMD** 是一个开源的静态代码分析工具,主要用于检测Java源代码中的潜在问题,比如冗余代码、未使用的变量、空捕获块等。它通过应用一系列预定义的规则来帮助开发者提升代码质量,避免潜在的bug,并遵循最佳编程...
PMD是一款开源的静态代码检测工具,可以检查代码的质量问题,文件是对PMD检测规则进行说明,解压密码:PMD。
Eclipse PMD插件分析代码规则(中文),描述部分有中文解释,待补充。
Java代码质量检测是软件开发过程中不可或缺的一环,它有助于提高代码的可读性、可维护性和性能。在Java开发环境中,有许多工具可以帮助我们进行代码质量检测。本篇文章将重点介绍标题和描述中提及的三个主要工具:...
"Gitlab+P3C-PMD(Aliyun)标准化你团队的代码" 本文主要讲述了使用 ...本文提供了一种使用 Gitlab 和 P3C-PMD(Aliyun) 实现代码标准化的方法。这种方法可以帮助团队成员保持代码的一致性,提高代码质量和可维护性。
pmd-bin 静态代码分析工具 PMD是静态源代码分析器。 它发现常见的编程缺陷,例如未使用的变量,空的catch块,不必要的对象创建等。 它主要涉及Java和Apex,但支持其他六种语言。 PMD具有许多内置检查(以PMD术语,...
本文将对四款广泛使用的静态源代码测试工具进行总结:Pc-lint、PMD、Logiscope 和 Purify。这些工具各具特点,适用于不同编程语言和场景,有助于提升代码质量。 1. **Pc-lint** Pc-lint是一款针对C/C++语言的强大...
总结起来,PMD是一个强大的静态代码分析工具,通过“pmd-bin-5.4.0.zip”提供的5.4.0版本,开发者可以便捷地对Java项目进行重复代码检查,从而提高代码质量和可维护性。了解并熟练使用PMD,对于提升团队的开发效率和...