我正在研究嵌入式程序,在某些情况下,如果没有条件,我想尽快从函数返回。如果我有以下代码并且我正在进行嵌入式编程:
foo() {
if (a < b) {
return 0; // bail, since condition is met
} else {
// lots of calculations in this block
}
return 1;
}
我的问题是,有多个 return 语句是否不好?这是不好的做法吗?有更好的方法吗? MISRA 对此有什么说法吗?
注意:这个问题是嵌入式系统特有的,与 MISRA 有关,而不仅仅是 C/C++
谢谢...
MISRA 需要单个返回语句:
(MISRA,规则 14.7:必需)“函数应在函数末尾有一个退出点”
现在,我个人认为这不是一个好的规则。尽量减少 return 语句的数量,但在增强代码可读性时使用 return 语句。
例如保护条款可以让你的代码更干净、更具可读性。
我建议您阅读这篇文章duffing(从上到下写代码):
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)