我最近在 Code Complete 中读到,处理涉及数字的表达式的推荐方法是像数字轴一样对它们进行排序。
本书有2个例子:
if ( (MIN_ELEMENTS <= i) && (i <= MAX_ELEMENTS) )
if ( (i < MIN_ELEMENTS) || (MAX_ELEMENTS < i ) )
第一个例子表明 i 在 min 和 max 元素之间,第二个例子是 i 落在元素之间的范围之外。
我一直在尝试采用它,但我不确定它是否只是我的想法,但我认为它不会让代码更清晰。
例子:
if (m_Health > BOSS_HALF_HEALTH) // The way it was
if (BOSS_HALF_HEALTH <= m_Health) // The "number line" method
是我一个人,还是数轴法似乎不太清楚?你对这种做法有什么看法?
奇怪的是,他提到将常数放在比较的左侧与数轴方法相矛盾,但这里似乎数轴方法导致将常数放在左侧。