StyleCop和/或一般风格指南?

Adr*_*773 3 c# coding-style stylecop

类似的问题:C#StyleCop的Styleguide :一个完整​​的文档

好的,所以我在我的工作场所寻找某种风格控制,用于我们在C#中开发的应用程序.我最初只是计划制作一个风格指南(通过收集一些现有的风格指南并从中挑选合适的部分),但似乎StyleCop可能是一个很好的补充或替代风格指南.

所以,我的问题是:

  1. 我可能遇到的样式指南和/或StyleCop的潜在问题是什么?
  2. 如果我使用StyleCop,我希望样式指南有多相似?我是否想尝试阻止/限制两种方法之间的任何差异?我问,因为如果StyleCop没有强制执行它,那么它可能会被忽略(或者这不是一个太大的问题吗?).
  3. 如果我使用StyleCop,是否值得花时间和精力创建样式指南?
  4. StyleCop有什么替代方案值得研究吗?(例如,具有非常好的可用性/定制的替代方案,并且"可以"被认为是足够的).

编辑:只是一点背景,我的工作场所有一个"软件部门",现在才刚刚形成.有3个全职c#开发人员,3个可能触摸/使用/改变c#代码的开发人员,一些BA和没有官方测试人员.

Pat*_*irk 14

在使用/维护/执行样式指南的团队之后,然后在使用StyleCop的团队中,我的建议是专门使用StyleCop.这有几个原因:

  1. 它是编译时可执行的.当谈到像风格一样持久的东西时,这是一个巨大的优势.使用样式手册总是有灰色区域,但没有编译器错误.这减少了"这是错误的"/"不是不是"到"我们应该选择哪个"的风格论证,这通常是一个更民事的论点.

  2. 如果你创造自己的风格,某人(或所有人)将需要成为人类"风格警察",这是一个相当悲惨的工作.开发人员(根据我的经验)倾向于不喜欢人们对他们提交的代码进行"风格调整",并且在被告知使他们的代码符合风格时更不喜欢.这也是耗时的,因为在代码审查期间审查是另一回事(你正在做这些,对吧?).

  3. StyleCop带有一套相当不错的默认规则,只使用这些规则就可以让你匹配大多数其他C#代码库.当我使用我们自己的内部样式手册时,所有开源代码看起来都很外观,因为我们使用了注释标题,大写参数,一些匈牙利表示法等等.但是当我使用默认规则集移动到StyleCop强制样式时,所有内容看起来熟悉!

  4. 创建你的风格意味着你将花费大量时间重新发明轮子,然后在出现边缘情况和参数时保持该轮子.这是一项非零工作量,可以咀嚼很多时间; 根据我的经验,开发人员总会讨论代码风格.

  5. 如果您不喜欢某些默认设置或需要添加StyleCop应忽略的缩写,它有一个不错的编辑器来配置您的规则集.

  6. 您可以编写自己的规则或使用其他人发布的规则.例如,我们团队中的一些人讨厌尾随空白,所以我包含这些规则来强制执行.

至于替代方案,我不知道任何与StyleCop一样无缝的东西.我应该注意到我只使用它与Resharper/Visual Studio一起使用,所以如果你有不同的环境,那么你的里程可能会有所不同.

  • 正在进行的StyleCop规则实施将作为扩展来到Visual Studio 2015:https://github.com/DotNetAnalyzers/StyleCopAnalyzers (2认同)