2009-10-06 33 views
21

刚刚找到StyleCop,看起来像是值得使用的项目。然后我发现你可以使用ReSharper(我从未使用过的工具)。所以我下载了ReSharper,以及ReSharper的StyleCop。我只是有点困惑了,虽然:StyleCop vs ReSharper和一般编码式问题

  1. 只需安装StyleCop的(无ReSharper的),我得到大声呵斥在代码隐藏直接指私有变量。它希望我改为做这个变量。好,很好。

  2. 如果我只使用ReSharper,它会告诉我删除所有刚刚添加的“这个”调用。哪一个更好?

  3. 如果我为ReSharper使用ReSharper + StyleCop,它现在告诉我为所有私有成员引用添加'this'(就像StyleCop自己做的一样)。但是,现在它还希望我将“this”添加到从.aspx页面引用的所有控件(即,Label.Text = this.variable - > this.Label.Text = this.variable)。

我很困惑。遵循的最佳标准是什么?或者我现在就这样做(Label.Text =变量)?

+4

+1试用ReSharper。你会认为这个论坛充满了他们的销售人员,尽管他们表示赞赏,但它确实的确满足于炒作(大部分)。它在这里有它自己的标签,所以不要忘记阅读一些“最好的”来加快速度:http://stackoverflow.com/questions/tagged/resharper – 2009-10-06 19:10:16

回答

12

关键是一致性。您关于这一点的特定格式归结为个人偏好。

额外的单词是否提供了额外的清晰度,指出您正在引用哪个变量,或者是否通过用额外文本填充页面来掩盖含义?

这是一个判断电话。他们确实执行了其他有意义的规则;然而,他们所做的大部分工作是强化一致性。正如@Martin所说的,随意禁用对您的工作流程没有意义的规则。

2

我认为这取决于您希望遵循哪些惯例(这是个人喜好的问题)。至少在ReSharper中,您可以编辑规则以不再显示某些警告/提示。

+0

你可以自定义使用哪些规则StyleCop设置编辑器 – 2012-05-24 10:54:34

+0

但是你不能“弯曲”StyleCop风格。 (比如在拨打本地电话时强制不要加上“this。”前缀。) – 2013-03-18 06:43:31

10

很抱歉,在一个团队工作时,一切都归结为理解政治;毕竟,我们努力获得报酬!

如果决定你的下一个 加薪的人使用了StyleCop,那么你 应该总是包括“这个。” ReSharper的说什么同样,如果老板使用ReSharper的 你应该做的。

还有很多更重要的战争要赢得这个, 10,000行类,超大尺寸的方法

如果您足够确定自己使用哪些工具(和编码标准),那么我只需选择ReSharper并阅读“clean code”一书。

0

旧帖子,但显然仍然有效。您可以为StyleCop创建新的自定义规则,并且可以采用现有规则并将其调整为替换规则。不是很容易,但任何开发人员都可以通过SDK进行管理,并打开源代码中的规则。我刚刚创建了一个自定义规则来接受以小写字母开头的默认事件处理程序语法。