5

我通常在字段m_前面添加一个,在成员之前添加一个。privates_static

使用类似的代码

protected static readonly Random s_Random = new Random ();

我通过 VS2008 的代码分析得到以下警告:

  • CA1709:Microsoft.Naming:通过将成员名称“Bar.s_Random”中的“s”更改为“S”来更正其大小写。
  • CA1707:Microsoft.Naming:从成员名称“Bar.s_Random”中删除下划线。

如何解决这个问题?我应该简单地删除s_吗?或者为此警告添加全局抑制?

编辑:我的公司缺乏编码标准,所以由我来为我的代码定义它们。(是的,我知道了...)

如果您认为s_总体上应该被删除,如果您能提供官方来源,我会很高兴。

4

6 回答 6

11

您没有遵循 Microsoft 的 .NET 命名约定,该约定告诉您不要为任何内容添加前缀。如果这确实是您想要的,请添加抑制。否则,请按照指南删除s_和其他类似的前缀。

来自类型成员的名称:
“字段名称”部分:“不要为字段名称使用前缀。例如,不要使用 g_ 或 s_ 来区分静态字段和非静态字段。”

于 2009-04-27T12:17:59.437 回答
1
  1. 卸载项目
  2. 右键单击卸载的项目 => 编辑 csproj
  3. 使 RunCodeAnalysis 为 false
  4. 保存并重新加载项目
于 2020-12-02T16:13:49.350 回答
0

取决于你想要什么。

如果您的公司政策是在静态成员前面加上 s_,那么您应该禁止警告,甚至添加您自己的规则。

否则,将其修复为 Microsoft 的标准并致电您的会员Random

于 2009-04-27T12:19:55.517 回答
0

m_ 是一个旧的命名标准。较新的约定不遵循这种匈牙利符号。

于 2009-04-27T12:20:39.210 回答
0

如何解决它取决于您。忽略它,并保持自己的命名约定,或遵循 Microsoft 标准。就我个人而言,我没有为我的变量使用任何前缀(所以在这种情况下将是“随机”而不是“s_Random”)所以我会选择后者,但如果你真的对此感到满意,那么没有人强迫你改变。

于 2009-04-27T12:20:52.877 回答
0
  • CA1709 : protected 不是私有的,需要大写
  • CA1707:下划线不符合 ms 命名约定
于 2009-04-27T12:27:04.657 回答