このスタイルガイドは私には役に立ちましたが、ルール#5に出くわしました。
一般に、このような定数の使用は最小限に抑える必要があります。多くの場合、メソッドとして値を実装することをお勧めします。
int getMaxIterations() // NOT: MAX_ITERATIONS = 25
{
return 25;
}
私はスタイルの観点から推論を理解しています:「叫ぶ」定数宣言を廃止するだけでなく、使用中の言語構造の数を減らし(これが間違った用語である場合は許してください)、理解しやすいプログラム。
ただし、このアプローチはコンパイラに蔑称的な影響を及ぼしますか、それとも最新のコンパイラ(または実際には古いコンパイラ..)は、getMaxIterations関数が毎回同じ数を返していることを判断するのに十分な先読みができますか?
確かに、そして考え直してみると、コンパイラーは先を見越す必要さえありますか?スタイルガイドは、メソッドアプローチが定数値を使用するよりも優れていることを示唆しています。これは、「定数」値を、どのスコープで使用した後でもメモリに保持する必要がないためだと思いますか?
要約すると、私の質問は次のとおりです。定数値の使用は推奨されていませんか?もしそうなら、なぜですか?
(ボーナスポイントについては、定数をメソッドとして宣言することと定数として宣言することの技術的な違いは何ですか?)