作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为我不久前写的代码标准文档的一部分,我强制要求“您必须始终对循环和/或条件代码块使用大括号,即使(尤其是)它们只有一行。”
例子:
// this is wrong
if (foo)
//bar
else
//baz
while (stuff)
//things
// This is right.
if (foo) {
// bar
} else {
// baz
}
while (things) {
// stuff
}
最佳答案
我能提供的最好的反驳论点是,空间占用的额外行减少了您一次可以看到的代码量,而您一次可以看到的代码量是决定容易程度的一个重要因素就是发现错误。我同意你给出的包含大括号的原因,但是在多年的 C++ 中,我只能想到一个结果是我犯了一个错误,而且我没有充分的理由跳过大括号反正。不幸的是,我无法告诉您是否看到这些额外的代码行在实践中是否有帮助。
我可能更有偏见,因为我喜欢在相同缩进级别匹配大括号的对称性(以及将包含的语句隐含分组为一个执行 block ) - 这意味着始终添加大括号会增加很多行项目。
关于maintainability - 强制使用牙套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1916576/
在 VS2008 的 resharper 4.5 中,有没有办法在开始大括号和结束大括号之间显示一条实线。 最佳答案 您可以通过安装 CodeRush Xpress(它与 ReSharper 兼容)将
我是一名优秀的程序员,十分优秀!