Я недавно прочитал в 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
Это только я или метод числовых линий кажется менее понятным? Что вы думаете об этой практике?
Также странно, что он упоминает, что размещение констант в левой части сравнений противоречит методу числовых линий, но здесь кажется, что метод числовых линий приводит к размещению констант в левой части.