Я писал код, который использует вызовы функций, которые очень длинные и часто длиннее 80 символов. Обычно я разделяю эти вызовы функций так:
LongFunctionName(first_argument,
another_argument,
finally_last_argument);
Тем не менее, это выглядит странно, когда я пытаюсь поместить это в выражение if, главным образом потому, что становится не очень понятно, с каким значением оно сравнивается:
if(LongFunctionName(first_argument,
another_argument,
finally_last_argument) != value_compared_to)
{
// stuff to be called
}
Как бы вы отформатировали это утверждение, чтобы оно было более читабельным и вписывалось в 80 символов?
Я хотел бы рассмотреть вопрос о вызове функции в отдельной строке:
const auto value = LongFunctionName(first_argument,
another_argument,
finally_last_argument);
if (value != value_compared_to) {
// ...
}
Вы даже можете дать value
переменная хорошее описательное имя, которое помогает понять код.
Хранение возвращаемого значения в переменной является лучшим решением imo. Но вы можете сделать что-то еще:
if (value_compared_to != LongFunctionName(first_argument,
another_argument,
finally_last_argument))
У вас есть два варианта:
1)
Примите, что это выглядит так
ИЛИ ЖЕ
2)
Оцените возвращаемое значение вызова функции в отдельном операторе (псевдокод)
retval = LongFunctioName(first_argument, second_argument, third_argument);
if(retval != desired_val) { ... }
Не начинайте нас на этом, я бы сделал
if
( LongFunctionName
( first_argument
, another_argument
, finally_last_argument
) != value_compared_to
)
{
// stuff to be called
}