【发布时间】:2010-09-01 21:19:12
【问题描述】:
当花括号不用于包围单行代码块时,我能否配置 ReSharper 以修复 C# 代码,如下所示:
if (blnSomeCondition)
DoSomething(); // complain
if (blnSomeOtherCondition)
{
DoSomethingElse(); // don't complain
}
谢谢
【问题讨论】:
-
好问题,但第一种语法有什么问题?花括号是不必要的。
-
一些开发人员认为,在单行代码块周围包含花括号是更好的做法,因为它更具可读性和可维护性。
-
另外,我已经看到有多少次不使用花括号导致了错误。有人进行了更改,看到了 if 并添加了一个新行,但没有意识到它不会作为条件的一部分执行。这很微妙,但已经发生了。
-
我对第一种格式并没有真正的问题,但我可以看到它可能会导致 Hadi 提到的场景中的错误。我们的团队决定这是我们希望执行的编码标准,这就是我提出这个问题的原因。
-
我个人的偏好是不要将大括号用于单行'if',而是将'if'和以下语句放在同一物理行上,例如'如果(blnSomeCondition)做某事();'。