調べてみましたが、探していた答えが見つからなかったので、ここでこの問題に対処することにしました。例を使用して説明する方がよいと思いますので、次のコード スニペットを検討してください。
int delta = 0;
if (some_condition)
delta = 42;
x1 = regular_value1 + delta;
x2 = regular_value2 + delta;
// ...
// where delta is used a lot of times
// basically - if (some_condition == true) => add delta to all variables
// if FALSE - add 0 (thus, effectively not changing anything)
対
int delta = 42;
if (some_condition)
{
x1 = regular_value1 + delta;
x2 = regular_value2 + delta;
// ...
}
else
{
x1 = regular_value1;
x2 = regular_value2;
// ...
}
たとえば、非常に単純な実際のシナリオは次のようになります。たとえば、左側に画像が含まれる場合と含まれない場合がある Windows フォームを作成しているとします。画像がない場合 - 残りのすべてのフォーム コントロールを左側に作成し、画像がある場合は、他のすべてのコントロールを画像の右側に移動します (すべてのコントロールの X 位置にデルタを追加します)。
私はC#XNAゲームをプログラミングしています(したがって、パフォーマンスは多少関連しますが、OOPの原則は決して省略すべきではありません)。したがって、私の質問は、「some_condition」が50%のTRUEである場合、どのコードがより速く実行されるかです. ? 同様に、どのコードブロックが保守/読み取りが容易ですか?
これが大きな問題ではないことは承知していますが、可能な限り「最高の」コードを書く習慣をつけようとしているだけです。ご意見や個人的な経験をいただければ幸いです。
ありがとう。