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