C#代码样式:从"这个"切换.前缀为"下划线"

Ami*_*imi 3 c# stylecop naming-conventions this

我一直在使用"这个".前缀约两年(StyleCop SA1102规则).但是现在我正在改变主意并使用"下划线"前缀来表示静态和实例私有字段并删除"this".字首.

在这里我的理由是从"这个"切换."强调":

  1. 容易打破:你团队中的任何人都不会总是使用"这个".前缀所以当你看到一个遵循这种风格的项目时你就不会看到"这个".所有实例成员的前缀.
  2. 无用区分:区分实例和静态字段有什么好处?你有没有获得任何相关的东西?
  3. 噪音:如果你照顾使用"这个".前缀,你会在每个地方看到"这个".例如,我们在一个类中有77次"this"关键字,但在更改我们的样式后,我们只有9个下划线,我认为代码更具可读性(您可以轻松地遵循代码逻辑).
  4. 剃刀:使用"这个"似乎很难看.Razor C#代码中的前缀.例如,你将有"@ this.Html.Something"而不是"@ Html.Something".我们喜欢在所有C#代码中应用的一般规则.

你有什么想法?

忽略StyleCop SA1102规则("this."前缀)并使用"下划线"前缀来区分类字段是否合理?

Evg*_*eni 6

所有你的分数也将适用于下划线(它需要强制执行,而不是那么有用等等),如果你将77'这个'改为9 _ - 那你也可以用9'这个',我确定.

知道这是一个实例还是静态字段/属性非常有用,imo,尤其是.在多线程环境中.

但是,当我看到'这个'时 - 我确切地知道它意味着什么; 用下划线..我猜,但在这一点上,这取决于你是多么一致.

就个人而言,我经常(并非总是)使用'this'来区分局部变量和类属性,尤其是.如果方法很长.

在一天结束时,如果您和您的团队对下划线感到满意,那么这只是一个推荐 - 使用它.