ser*_*0ne 5 .net c# math brackets stylecop
考虑以下算术计算.为简单起见,我尽可能地缩短了它们:
x = y + y * z;
x = y + z - y * z;
Run Code Online (Sandbox Code Playgroud)
没有StyleCop,这是完全合法的,并且可能,计算遵循BODMAS(与任何算术计算一样).
当它通过StyleCop传递时,它会显示以下警告:
CSharp.Maintainability:在算术表达式中插入括号以声明运算符优先级.
据推测,我需要做的就是在插入括号时遵循BODMAS的规则,如下所示:
x = y + (y * z);
x = (y + z) - (y * z);
Run Code Online (Sandbox Code Playgroud)
正如我假设StyleCop希望我明确定义BODMAS的规则,如果我想要执行计算,正如我没有括号那么正确吗?
小智 11
它是正确的.StyleCop基本上假设您对Operator优先级不太满意并希望明确写出来.如果有人稍后处理公式,那么这可以导致更稳定的代码.从技术上讲,不需要 - 但是你会假设编译器将如何处理它是绝对正确的.当然通常就是这种情况(BODMAS).
最后,情况是"你可能不知道你做了什么,所以我们确保你拼出来".这不是一种糟糕的态度 - 代码稳定性是主要关注点 - 但你也可以将警告关闭.
归档时间: |
|
查看次数: |
2384 次 |
最近记录: |