规则:BD.PB.CC
类别:Bug Detective?Possible Bugs?Avoid conditions that always evaluate to the same value
说明:避免值为常量的条件表达式
如果一个表达式总是返回常量值,则需要重新检查该表达式的正确性,很可能该表达式并不是开发人员真正要写的表达式。
例子:
诊断测试产品
规则:OPT.STS
类别:Optimization?Avoid unnecessary calls to 'String' methods
说明:避免不必要的String方法调用,如调用一个String的对象的toString()方法。
例子:
1. 安装Eclipse(或MyEclipse)
2. 运行jtest_win32_eclipse_plugin_8.4.20.exe
3. 点击“是”
4. 点击Yes
- 减少人员之间通信工作量,提高工作效率。软件开发是团队成员协作的结果,而编码规范是程序员之间沟通的桥梁。如果每个成员遵循一致的编码风格,则可以减少沟通所需的工作量。
- 减轻了程序员的负担。命名规范是一种约定,减少了编码的自由度,从某种意义上可以帮助程序员不用操心一些编码细节上的选择问题。
- 规范外包编码工作。
" OPT.AAS-3
使用简短格式的赋值语句;
" OPT.CEL-3
避免在循环语句中调用方法;
" OPT.CS-1
在"finally"块中关闭streams;
" OPT.DIC-3
在创建"ArrayList"、"HashMap"、"HashSet"、"Hashtable"、"Vector"和"WeakHashMap"时,必须定义初始的容量大小;
" OPT.IF-4
不用!对于"if (cond) return; else return;"语句使用条件操作符;
" OPT.IFAS-4
" JUNIT.OSIC-2
避免使用构造函数去初始化测试用例;
" JUNIT.OSUM-3
总是重载"setUp()"方法;
" JUNIT.OTDM-3
总是重载"tearDown()"方法;
" GC.AUTP-2
在转换基本数据类型的"toString"时,避免创建不必要的临时变量;
" GC.DUD-3
使用"long[]"代替"Date[]";
" GC.FCF-1
在"finalize()"中必须调用"super.finalize()";
" GC.FM-1
避免在"finalize()"中注销"listeners";
" GC.GCB-5
在一个方法中,要重复使用"getClipBounds()"的返回值,既不要调用"getClipBounds()"两次;
" GC.IFF-2
" CODSTA.ACDO-1
避免在字符串常量前使用"new"操作符;
" CODSTA.ASI-3
不用!对于任何没有使用非静态变量类成员变量的方法使用"static"修饰符;
" CODSTA.AUVT-3