Основной вопрос, но хотелось бы узнать, как оптимизировать его выполнение. Это блок кода для закрытой подпрограммы, закрывающей несколько процессов. Во всех случаях следует попытаться закрыть все процессы и этапы, но сохранить значение сбоев для возврата обратно.
Error_code result=PASS;
<some code>
for i 1 to 10
if((result = operation())!=PASS)
PRINT "FAILURE"
done
if((result = operation())!=PASS)
PRINT "FAILURE"
for i 1 to 10
if((result = operation())!=PASS)
PRINT "FAILURE"
done
return result;
Теперь проблема в том, что если последней итерацией является Pass, то она возвращает PASS, поскольку операция должна выполняться для всех 10 итераций, а в случае неудачи нам просто нужно вернуть код ошибки. Поскольку он может иметь около 100 сбоев, я пишу такой код: -
Error_code result=PASS;
Error_code tresult=PASS;
for i 1 to 10
if((result = operation())!=PASS) {
tresult = result;
PRINT "FAILURE"
}
if((result = operation())!=PASS) {
tresult = result;
PRINT "FAILURE"
}
for i 1 to 10
if((result = operation())!=PASS)
tresult = result;
PRINT "FAILURE"
done
if(tresult != result)
result = tresult;
return result;
Это единственное оптимизированное решение, или мы можем добиться большего в этом. Я не могу использовать флаг, так как в нем более 100 переменных ошибок.
Предложите какой-нибудь лучший способ ..