请考虑以下算术计算。为了简单起见,我尽量缩短了它们:
x = y + y * z;
x = y + z - y * z;如果没有StyleCop,这是完全合法的,并且推测,计算遵循BODMAS (就像任何算术计算一样)。
当通过StyleCop传递这一信息时,它会显示以下警告:
CSharp.Maintainability :在算术表达式中插入括号以声明操作符优先级。
想必,我所需要做的就是在插入括号时遵循BODMAS的规则,如下所示:
x = y + (y * z);
x = (y + z) - (y * z);正如我在我的假设中所纠正的那样,如果我想要执行计算,那么StyleCop希望我明确地定义BODMAS的规则,就像它没有括号一样?
发布于 2013-01-03 09:16:48
这是正确的。StyleCop基本上假设您对操作符优先级不太满意,并希望显式地写出它。这可能会导致更稳定的代码,如果有人工作的公式以后。从技术上讲,Iti并不是必需的--但在假设中假设编译器将如何处理这一问题时,假设是绝对正确的。当然,情况通常是这样的(BODMAS)。
最后,这是一个“你可能不知道你在做什么,所以我们确保你说出来”。这并不是一种糟糕的态度--代码稳定性是主要关注的问题--但你最好还是关掉这个警告。
https://stackoverflow.com/questions/14135885
复制相似问题