Gendarme 是一个可扩展的基于规则的用来找出 .NET 应用程序中问题的工具和程序库。Gendarme 检查包含有 ECMA CIL 格式的程序和库,也就是 Mono 和 .NET 的应用,并从中找出一些常见的问题。
Gendarme 使用 Cecil 程序库来检查代码。
为啥要用Gendarme呢?
1.因为,谬误不断地在行动中重复,而我们在口头上不倦地重复的却是真理。
2.因为,通过规则进行代码审查 比 去回顾检查数百万行的源码进行代码审查,要有趣并且也可靠地多。
现在,Gendarme的规则们被划分为以下的种类(或集合)
- Gendarme.Rules.BadPractice
- Gendarme.Rules.Concurrency
- Gendarme.Rules.Correctness
- Gendarme.Rules.Design
- Gendarme.Rules.Design.Generic (new in 2.2)
- Gendarme.Rules.Design.Linq (new in 2.2)
- Gendarme.Rules.Exceptions
- Gendarme.Rules.Interoperability
- Gendarme.Rules.Maintainability (new in 2.0)
- Gendarme.Rules.Naming
- Gendarme.Rules.Performance
- Gendarme.Rules.Portability
- Gendarme.Rules.Security
- Gendarme.Rules.Security.Cas (new in 2.2)
- Gendarme.Rules.Serialization (new in 2.0)
- Gendarme.Rules.Smells
- Gendarme.Rules.Ui
Gendarme是开源的,也可以定制自己想要的规则。
其实,我想说的是,它是可以和ccnet集成的,在ccnet的1.4.3版本之后。下篇见。