CppCoreGuidelines NR.1 不要坚持把声明放在函数开头
09 January 2024
“Don’t insist that all declarations should be at the top of a function”
理由
“所有声明都要放在开始处”是一个过时的编程规则。老的编程语言不允许在语句之后初始化变量和常量。这个限制会导致代码很长,很容易因为未初始化或错误的初始化导致错误。
坏例子
int use(int x) { int i; char c; double d; // ... some stuff ... if (x < i) { // ... i = f(x, d); } if (i < x) { // ... i = g(x, c); } return i; }
变量声明和变量使用的位置越远,越容易出现 bug。幸运的是,编译器能捕捉很多“设置之前使用”的错误。但是,遗憾的是,编译器不能捕捉到所有这类错误。就算在这个小例子中,我们也很难发现错误。
其他要求