【发布时间】:2014-05-10 14:56:20
【问题描述】:
我正在使用 PMD 来检查 Java 编码违规。 我正在编写自动化测试用例,并给出这样的方法名称:
public void testCaseMethod_4_2_16(){
//some implementation
}
其中 4_2_16 是测试用例编号 4.2.16
当我检查 PMD 违规时,它显示 方法名称不应包含下划线,并且此违规显示为 blocker 根据PMD 规则。 所以这是我的问题:
- 为什么方法名称不应包含下划线被定义为 blocker 或 PMD 错误?
- 我们应该避免什么样的 PMD 违规和
- 我们应该尝试修复什么样的违规行为?
就我的理解而言,至少我们应该避免 PMD 显示的前两级违规。 任何有关 PMD 规则的帮助将不胜感激。谢谢
【问题讨论】:
-
我不知道为什么,虽然我总是使用 camelcase 表示方法,而 underscores 表示变量。为什么?所以更容易区分变量和方法。
-
@Vallentin 方法末尾的大括号还不够吗?
-
@Vallentin 变量中的下划线仅适用于
FINAL_VARIABLE_NAMES!除此之外,它“只是”一个约定(原始命名约定文档已消失,但请参阅docs.oracle.com/javase/tutorial/java/javaOO/methods.html 示例) -
但我认为如果我将测试用例编号作为 4_2_16 放在方法的末尾而不是只写 4216,它会给我们更多关于测试用例的信息
-
@Marco13 “最终变量”通常被称为“常量”(在 Java 中)。