如何通过工具支持确保.NET中的单一编码标准


14

基本情况可能是每个人都熟悉的。您已经在团队中就某些编码标准达成了共识,现在是时候确保每个人都遵循它们了。

有些通过繁重的配对编程来完成,有些则维护编码标准列表并进行手动检查。其他人甚至使用Visual Studio中的静态代码分析工具来确保实施了编码标准。

您有什么最佳实践来确保编码标准?您使用哪些工具-每个开发人员都应该知道一些基本工具吗?您如何将代码的标准化集成到开发工具中?

Answers:


15

StyleCop(现在也称为ResCharper的StyleCop)通常用于在C#代码库中实施编码样式规则。

如果引入了任何违规,它可以集成到您的CI构建中并导致构建失败。


有关如何使用它的更多信息?我想在每次提交之前运行样式检查。所以我需要CLI。有没有。我找不到任何相关信息。
FreeLightman '18


@R。-如果只有一个可以自定义StyleCop规则。哦,等等...
Oded

@R。-您也可以编写自己的规则。
Oded

FWIW,来自github上的自述文件:“虽然拉取请求将继续被接受,但对该项目进行任何重大开发的可能性均不大。维护StyleCop使用的自定义C#解析器变得越来越困难且效率低下。”
生锈的

6

首先,请确保您有适当的构建服务器来连续构建代码。TFS或Jenkins / Hudson + Msbuild是不错的选择。您当然可以在此构建服务器上运行测试,还可以运行静态代码分析以及语法检查器。

我建议使用FxCopGendarme进行静态代码分析。两者可以同时使用。

成功的重要秘诀:不要使用庞大的规则集来部署它们,并期望它能正常工作。您将收到数百万条警告,没有人会关心。

经验法则是:

  • 始终具有零警告。如果需要的话,最初可以减少支票的数量,然后在每个冲刺中添加一些新的支票并对其进行修复。确保执行的每项检查对您都有实际价值,并且与您的标准一致。

  • 如果您需要遵循特定于域的规则,请不要害怕执行自己的规则。

对于语法检查,如果使用的是Resharper(我也强烈建议使用StyleCop或StyleCop for Resharper)。


2

StyleCop和FxCop是我的轻量级工具,可以向开发人员提醒代码样式。Resharper也是不错的选择,但它会使VS非常慢。

我推荐FxCop是因为它具有丰富的规则库,并具有出色的文档,分类,示例和许多其他功能。

还提供了适用于Visual Studio的StyleCop Fixer扩展程序,有助于修复常见错误。

代码指标有时也会受到代码样式的影响。您可以使用此工具监视代码的可维护性。


2

我想强调的是,首先要使已经提到的自动代码分析(FxCop,StyleCopy,CI构建等)优先于手工检查。自动检查将比手动检查所能收集到的东西多得多,并且通常更加严格,一致且具有自我记录能力。手动检查对于进行更高级别的设计决策等可能是有益的,但以我的经验,它们可能是非常主观和偶然的。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.