今天在为一位同事进行代码审查时,我看到了一件奇怪的事情。他用大括号将新代码括起来,如下所示:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
这样做的结果是什么?这样做的原因可能是什么?这个习惯从哪里来?
编辑:
基于输入和下面的一些问题,即使我已经标记了答案,我仍必须在问题中添加一些内容。
该环境是嵌入式设备。有很多用C ++语言编写的遗留C代码。有很多C语言转换的C ++开发人员。
在代码的这一部分中没有关键部分。我仅在代码的这一部分中看到过它。没有完成主要的内存分配,仅设置了一些标志,并且有些混乱。
用花括号括起来的代码是这样的:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(不用管代码,只需要紧握大括号...;)在大括号之后,还有更多的旋转,状态检查和基本的信号传递。
我和那个家伙谈过,他的动机是限制变量的范围,命名冲突以及其他一些我无法真正理解的东西。
从我的观点来看,这似乎很奇怪,我不认为花括号应该在我们的代码中。我在所有答案中都看到了一些很好的示例,说明了为什么可以用花括号将代码括起来,但是您是否不应该将代码分成方法呢?