基本情况可能是每个人都熟悉的。您已经在团队中就某些编码标准达成了共识,现在是时候确保每个人都遵循它们了。
有些通过繁重的配对编程来完成,有些则维护编码标准列表并进行手动检查。其他人甚至使用Visual Studio中的静态代码分析工具来确保实施了编码标准。
您有什么最佳实践来确保编码标准?您使用哪些工具-每个开发人员都应该知道一些基本工具吗?您如何将代码的标准化集成到开发工具中?
基本情况可能是每个人都熟悉的。您已经在团队中就某些编码标准达成了共识,现在是时候确保每个人都遵循它们了。
有些通过繁重的配对编程来完成,有些则维护编码标准列表并进行手动检查。其他人甚至使用Visual Studio中的静态代码分析工具来确保实施了编码标准。
您有什么最佳实践来确保编码标准?您使用哪些工具-每个开发人员都应该知道一些基本工具吗?您如何将代码的标准化集成到开发工具中?
Answers:
StyleCop(现在也称为ResCharper的StyleCop)通常用于在C#代码库中实施编码样式规则。
如果引入了任何违规,它可以集成到您的CI构建中并导致构建失败。
首先,请确保您有适当的构建服务器来连续构建代码。TFS或Jenkins / Hudson + Msbuild是不错的选择。您当然可以在此构建服务器上运行测试,还可以运行静态代码分析以及语法检查器。
我建议使用FxCop或Gendarme进行静态代码分析。两者可以同时使用。
成功的重要秘诀:不要使用庞大的规则集来部署它们,并期望它能正常工作。您将收到数百万条警告,没有人会关心。
经验法则是:
始终具有零警告。如果需要的话,最初可以减少支票的数量,然后在每个冲刺中添加一些新的支票并对其进行修复。确保执行的每项检查对您都有实际价值,并且与您的标准一致。
如果您需要遵循特定于域的规则,请不要害怕执行自己的规则。
对于语法检查,如果使用的是Resharper(我也强烈建议使用StyleCop或StyleCop for Resharper)。
StyleCop和FxCop是我的轻量级工具,可以向开发人员提醒代码样式。Resharper也是不错的选择,但它会使VS非常慢。
我推荐FxCop是因为它具有丰富的规则库,并具有出色的文档,分类,示例和许多其他功能。
还提供了适用于Visual Studio的StyleCop Fixer扩展程序,有助于修复常见错误。
代码指标有时也会受到代码样式的影响。您可以使用此工具监视代码的可维护性。
NDepend可用于在.NET代码库上实施各种编码标准。它具有大约200个默认代码规则,可在此处浏览。同样,自定义现有规则或创建自己的规则也很容易,因为使用NDepend 规则只是C#LINQ查询。
免责声明:我为NDepend工作