是否有StyleCop/FxCop自动固定工具?

30 fxcop stylecop

是否有一个工具可以自动修复StyleCop和FxCop规则,而不是手动修复数以千计的警告和错误?

必须有一个,这是一个很好的商机!

Col*_*nic 29

不,令人沮丧.这就是Style Cop适得其反的原因.一致的格式看起来不错,但它的生产效率很小(真正使代码难以读取的是长度和间接).完美的间距不值得花费数小时手动调整线条.

如果有一个自动化工具来实现一致的格式化,我可能会在签入后将其挂钩.但是风格警察是由虐待狂制造的,他们强迫用户手动进行繁琐的格式化.据推测他们的谈话是这样的:

Bob:使用模式匹配,软件识别丑陋的代码
Charlie: - 并修复它!
鲍勃:没有.它会打印一条关于每次违规的消息.
查理:然后用户右键单击以解决所有问题?
鲍勃:没有.消息骂他们"逗号周围的无效间距".
查理:然后解释用户如何修复它?
鲍勃:不,这些信息在一份单独的文件中.
查理:在谷歌上?
鲍勃:不.

我讨厌风格警察.它低于最低可行产品.

  • Resharper自动修复问题的Stylecop插件...... (3认同)

Bra*_*uce 9

StyleFix将修复StyleCop发现的许多违规行为.
GhostDoc可以轻松地为您的方法添加注释.

莱特利我一直在使用Telerik JustCode.它确实有助于预防风格问题.


jes*_*ing 6

FxCop还没有自己的固定功能.Roslyn项目(目标是在VS11之后的某个地方发布)将为静态分析规则提供一个新的引擎,并附带内置的修复功能.

有许多工具可以提供自己的修复规则.之前提到过一些:

这些有时会标记比FxCop或StyleCop更多或更多的东西.而且这里存在冲突规则的危险.如果你是像FxCop这样的工具,那么这里已经发生了这种情况.

还有一些开源项目试图为最常见的FxCop和StyleCop警告提供修复.我没有尝试过StyleCop,但是大多数FxCop自动修复工具都不能很好地工作,因为很少有FxCop规则真的很容易修复.

这些工具都无法帮助您修复自定义规则(或您从其他来源下载的规则,例如MSOCAF或开源项目(例如FxCopContrib)或其他Microsoft项目(例如开源中包含的规则)Web服务软件工厂CTP).

而且,特别是对于FxCop规则,我看到虽然被标记的东西,这似乎很容易解决,实际上指向一个更大的问题.

  • 以性能规则为例,要求您将所有方法设为静态.这实际上向你指出你有一些内聚力低的课程.将所有内容标记为静态可能会使代码更快一些,但不会改进您的设计,并且从长远来看,肯定会使代码的测试和维护更加困难.
  • 或者提到你的规则应该为任何具有支持它的重载的方法提供IFormatProvider.我看到太多的开发人员只是将CurrentCulture放在那里并完成了它.在两个不同配置的系统之间传输文件时仍会出现导入/导出错误.随着全球化,本地化和国际化是难以解决的问题.

这对StyleCop的应用要少得多,因为编码风格通常与实际的底层实现或设计无关.如果您没有使用现在默认配备StyleCop 的Resharper集成,那么看起来StylecopFixer是一个很棒的附加组件.