我喜欢StyleCop的静态代码分析和规则实施。但是,几个关键部门严重缺乏。
那里有这样的商业产品吗?
答案 0 :(得分:12)
添加规则是officially supported:
正如所承诺的,我们也将发布 StyleCop的SDK文档 解释如何编写自定义规则 以及如何将工具集成到 自定义构建环境。 SDK 文档目前正在最终确定 审查,我们希望非常发布 不久。 - JasonAll
就我们的“内部”风格而言,我通过禁用一些StyleCop规则而非常接近:
您可以通过修改安装目录中的Settings.StyleCop文件来全局执行此操作,但我已采取在每个项目中将源代码放在源树的根目录的方法。
最终效果是我们想要的。有一些“内部”选择可以很好地标记,但即使没有它们,StyleCop也为我们提供了很多价值。
答案 1 :(得分:6)
StyleCop for ReSharper可以提供帮助(您需要购买ReSharper,但插件是免费的):
ReSharper的StyleCop现在是功能 已完成,已达到 功能与StyleCop 4.3相同。
有148个StyleCop规则。
- 其中38个必须手动修复(通常因为你必须输入 描述性文本或重命名变量)。
- 其余110条规则58由R#Code Cleanup修复(无声 模式)。
- 在剩下的52个中,我们有代码清理规则来解决所有问题 他们自动。
我们还提供106个快速修复 提供上下文菜单修复 违反110规则的行为 可以自动修复
我们还提供了一个“StyleCop友好的ReSharper代码样式共享设置文件”,它将ReSharper配置为以StyleCop友好的方式自动格式化代码。
答案 2 :(得分:5)
来自Mono的Gendarme,虽然它是开源的,但不是商业性的。
答案 3 :(得分:3)
Agent Smith非常好。它需要Resharper。
答案 4 :(得分:3)
StyleCop 的替代或良好补充是使用商业工具NDepend。使用此工具,可以通过LINQ查询编写代码规则 (namely CQLinq)。 免责声明:我是该工具的开发人员之一
默认情况下会提出超过200 code rules,其中包括设计,架构,代码质量,代码演变,命名约定,死代码, .NET Fx用法 ......
CQLinq致力于编写可以verified live in Visual Studio或verified during build process and reported in an HTML/javascript report的代码规则。
CQLinq相对于StyleCop甚至FxCop的优势在于,可以直接编写代码规则,并立即获得 结果。建议设施浏览匹配的代码元素。具体来说,这看起来像是:
答案 5 :(得分:2)
我经常编写单元测试来反映我的类型并检查是否违反了我的自定义规则。
以下是验证某些类型是不可变的示例:http://blogs.msdn.com/kevinpilchbisson/archive/2007/11/20/enforcing-immutability-in-code.aspx
这是另一个关于单元测试命名的规则: http://jbazuzicode.blogspot.com/2008/11/keeping-test-fixture-and-class-names.html
编辑:第二个环节似乎在时间的流逝中失去了。答案 6 :(得分:2)
查看Submain的CodeIt.Right。