【发布时间】:2013-01-03 09:13:19
【问题描述】:
考虑以下算术计算。为了简单起见,我已尽可能缩短它们:
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 的规则,如果我想执行计算,就像没有括号一样?
【问题讨论】:
-
这是一个 StyleCop 的“可维护性”警告,它可以阻止某人某天只需在其中一个计算中添加一个“+2”而不会弄乱整个事情,而且它使它更具可读性,你可以如果您不喜欢该规则,请始终禁用它。
-
风格警察规则并不意味着代码分析。正如对此的解释所说:“虽然这段代码是合法的,但它的可读性或可维护性并不高。为了充分理解这段代码,开发人员必须了解并理解 C# 中的基本运算符优先规则。”这可能不适用于所有开发人员。因此,最好声明优先级
标签: c# .net math stylecop brackets