Declarações de retorno condicional de C / C ++ [duplicado]

Esta questão já tem uma resposta aqui:

É mais eficiente usar if-return-return ou if-else-return? 9 respostas

Eu estou trabalhando em programa embutido e, em certos casos, se uma condição não é significada, eu gostaria de retornar da função o mais rápido possível. se eu tenho o seguinte código e estou fazendo programação embutida:

foo() {
   if (a < b) {
       return 0;  // bail, since condition is met
   } else {
       // lots of calculations in this block
   }
   return 1;
}

Minha pergunta é: é ruim ter várias declarações de retorno? Isso é uma prática ruim? Existem métodos melhores? MISRA diz alguma coisa sobre isso?

NOTA: Esta questão é particular para sistemas embarcados, tem a ver com MISRA não apenas C / C + +

Obrigado...

questionAnswers(5)

yourAnswerToTheQuestion