今天给同事复查代码时,我发现了一件奇怪的事情。他把他的新代码用大括号括起来,就像这样:
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;
}
}
(不要介意代码,只要坚持花括号…,)) 在花括号之后,还有更多的位处理、状态检查和基本信号。
我和他谈过,他的动机是限制变量的范围,命名冲突,以及其他一些我不能真正理解的东西。
从我的角度来看,这似乎很奇怪,我认为花括号不应该出现在我们的代码中。在所有关于为什么可以用花括号包围代码的回答中,我看到了一些很好的例子,但你不应该把代码分成方法吗?
fsdf