私は最近 Code Complete で、数値を含む式を処理する推奨される方法は、数直線のように並べることであると読みました。
この本には2つの例があります:
if ( (MIN_ELEMENTS <= i) && (i <= MAX_ELEMENTS) )
if ( (i < MIN_ELEMENTS) || (MAX_ELEMENTS < i ) )
最初の例は i が最小要素と最大要素の間にあることを示し、2 番目の例は i が要素間の範囲外にあることを示しています。
私はそれを採用しようとしてきましたが、それが私の考えなのかどうかはわかりませんが、コードがより明確になるとは思いません.
例:
if (m_Health > BOSS_HALF_HEALTH) // The way it was
if (BOSS_HALF_HEALTH <= m_Health) // The "number line" method
それは私だけですか、それとも数直線法はあまり明確ではないようですか? この慣行についてどう思いますか。
彼が比較の左側に定数を置くことは数直線法と矛盾すると述べているのも奇妙ですが、ここでは数直線法が定数を左辺に置くことにつながるようです。