Условие всегда ленивое и хочет побыстрее выйти. Если v1 будет правдой, то что там дальше его не будет интересовать:
if (v1 == true || v2 == true) {...}
Таким образом, если у нас есть такой код:
вар v1 = CalcV1(); вар v2 = CalcV2(); if (v1 == true || v2 == true) {...}
Выглядит хоть и симпатично, но совершенно непроизводительно.
Лучше написать так:
if (CalcV1() == true || CalcV2() == true) {...}
Естественно нужно понимать, что CalcV2 не будет возвращаться, если CalcV1 вернет true, поэтому не нужно это расчитывать. Но я надеюсь, что вы это :) знаете