Я недавно начал использовать соглашение:
FooIf(args, bool);
Где аргументы - это любые аргументы, которые принимает метод, и bool либо ожидает логическое значение, либо Func некоторого вида, который разрешается в логическое значение. Затем в рамках этого метода я проверяю bool и запускаю логику. Сводит такие утверждения к одной строчке и выглядит чистым для меня.
Пример в моем коде C # для регистрации:
public void WarnIf<T>(T value, string message, Func<T, bool> isTrue)
{
if (isTrue(value)) _log.Warn(message);
}
Тогда я бы назвал это что-то вроде:
WarnIf(someObject, "This is a warning message to be logged.", s => s.SomeCondition == true);
(Этот абонент может быть не прав, но вы понимаете, у меня сейчас нет кода перед собой.)