別の開発者から引き継いだプログラムで、次の条件に遭遇しました。
if (obj.Performance <= LOW_PERFORMANCE)
{
obj.NeedsChange = true;
}
else
{
obj.NeedsChange = false;
}
このコードは冗長で見苦しいと思うので、比較に基づいて単純なブール割り当てと考えていたものに変更しました。
obj.NeedsChange = obj.Performance <= LOW_PERFORMANCE;
これを見ると、私のコードをレビューしている人が、私の変更は機能的には正しいものの、他の人がそれを見て混乱させるかもしれないとコメントしました。彼は、三項演算子を使用すると、この割り当てがより明確になると信じていますが、私はより冗長なコードを追加するのは好きではありません:
obj.NeedsChange = (obj.Performance <= LOW_PERFORMANCE) ? true : false;
彼の推論は、他の開発者があなたがやったことを正確に止めて困惑させなければならないなら、最も簡潔な方法で何かをすることは価値がないということです。
ここでの本当の問題は、ブール値に値を割り当てるこれら3つの方法のうち、どれがobj.NeedsChange
最も明確で保守しやすいのかということです。