すべてはコードの可読性に帰着します。その良い指標 - 「WTF ?!?!」の数 あなたのコードを読んでいる人による 1 分あたり。
定数の不適切な使用 - 自明なことの文書化:
// 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);