Я работаю с большой SDK-кодовой базой, объединенных из разных источников различного качества/компетентности/здравомыслия от Линуса Торвальдса к неопознанным slave-модулям Elbonian.
Существует множество стилей кода, некоторые из которых явно лучше других, и это доказывает интересную возможность расширить мои знания/отчаяние для будущего человечества в чередующихся мерах.
Я только что столкнулся с кучей функций, которые неоднократно используют немного странный (для меня) стиль, а именно:
void do_thing(foo)
{
do {
if(this_works(foo) != success)
break;
return(yeah_cool);
} while (0);
return(failure_shame_death);
}
В этом коде нет ничего сложного (я не сократил 10 000 строк волшебства для этого сообщения), они могут так же легко сделать:
if(this_works(foo) == success)
return(yeah_cool);
else
return(failure_shame_death);
Что бы показалось, что-то приятнее/аккуратно/интуитивно понятно/легче читать.
Итак, теперь мне интересно, есть ли какая-то (хорошая) причина для этого по-другому, или это так, как они всегда это делают в Elbonian Code Mines?
Изменить: согласно "возможным дублирующимся" ссылкам этот код не, предварительно обработанный в любом виде макроса, он находится только в обычном коде. Я могу поверить, что это может быть связано с правилом стиля кодирования об ошибке проверки в соответствии с этим ответом.