Зачем использовать присваивание в условии?
Я считаю, что это наиболее conditional полезно в цепочках действий, которые condition часто включают обнаружение variable-assignment ошибок и т. д.
if ((rc = first_check(arg1, arg2)) != 0)
{
report error based on rc
}
else if ((rc = second_check(arg2, arg3)) != 0)
{
report error based on new rc
}
else if ((rc = third_check(arg3, arg4)) != 0)
{
report error based on new rc
}
else
{
do what you really wanted to do
}
Альтернатива variable-assignment (без использования присваивания conditional-statements в условии):
rc = first_check(arg1, arg2);
if (rc != 0)
{
report error based on rc
}
else
{
rc = second_check(arg2, arg3);
if (rc != 0)
{
report error based on new rc
}
else
{
rc = third_check(arg3, arg4);
if (rc != 0)
{
report error based on new rc
}
else
{
do what you really wanted to do
}
}
}
При длительной conditionals проверке ошибок альтернатива language-agnostic может работать за пределами variable-assignment правой части страницы, в language-independent то время как версия с условным language-independent присвоением этого не делает.
Проверки condition ошибок также могут быть «действиями» — first_action()
, second_action()
, third_action()
— конечно, а conditional не просто проверками. То language-agnostic есть они могут быть проверенными language-independent шагами в процессе, которым language-independent управляет функция. (Чаще conditional-statements всего в коде, с которым я language-agnostic работаю, функции соответствуют condition проверкам предварительных language-independent условий или выделению памяти, необходимому conditionals для работы функции, или аналогичным conditional-statements образом).
conditional-statements
language-agnostic
variable-assignment
Зачем использовать присваивание в условии?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.