Иногда мне кажется, что легче проверить, истинны ли все условия, но тогда обрабатывать только "другую" ситуацию.
Я думаю, иногда мне кажется, что легче узнать, что что-то действительно, и предположить, что все остальные случаи недействительны.
Например, скажем, что нам действительно очень важно, когда что-то не так:
object value = GetValueFromSomeAPIOrOtherMethod();
if((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop)))
{
// All the conditions passed, but we don't actually do anything
}
else
{
// Do my stuff here, like error handling
}
Или просто я должен изменить это:
object value = GetValueFromSomeAPIOrOtherMethod();
if((value == null) || (string.IsNullOrEmpty(value.Prop)) || (!possibleValues.Contains(value.prop)))
{
// Do my stuff here, like error handling
}
Или (что я считаю уродливым):
object value = GetValueFromSomeAPIOrOtherMethod();
if(!((value != null) && (!string.IsNullOrEmpty(value.Prop)) && (possibleValues.Contains(value.prop))))
{
// Do my stuff here, like error handling
}