这一切都可以追溯到代码的可读性。一个很好的衡量标准 - “WTF?!?!”的数量 每分钟阅读您的代码的人。
常量使用不当——记录不言自明的事情:
// yeah, that we have bigger problems if that changes...
public static final String WORLD_WIDE_WEB_PREFIX = "www";
另一个例子 - 替换一个常量,其中一个直接值同样有意义:
// to be used in exactly 1 place
private static final int RETRY_COUNT = 3;
// ...
// ... 480 lines later ...
// ...
public int getRetryCount() {
// what's the value of this thing again?
return RETRY_COUNT;
}
但是,对于前面的示例,如果您计划在多个位置使用 3 的值,则使用常量会更好——它将保证该数字的所有引用都是同步的(您将其从 3 更改为 5,他们都改变了)
另一方面,
// what's 143?!?! where do I go looking for what it means?!?!
complexPart.setType(143);