У меня четыре значения bool
:
bool bValue1;
bool bValue2;
bool bValue3;
bool bValue4;
Допустимые значения:
Scenario 1 | Scenario 2 | Scenario 3
bValue1: true | true | true
bValue2: true | true | false
bValue3: true | true | false
bValue4: true | false | false
Так, например, этот сценарий неприемлем:
bValue1: false
bValue2: true
bValue3: true
bValue4: true
На данный момент я придумал это утверждение if
чтобы обнаружить плохие сценарии:
if(((bValue4 && (!bValue3 || !bValue2 || !bValue1)) ||
((bValue3 && (!bValue2 || !bValue1)) ||
(bValue2 && !bValue1) ||
(!bValue1 && !bValue2 && !bValue3 && !bValue4))
{
// There is some error
}
Можно ли улучшить/упростить эту логику операторов?