用途:在规划、实现和审查各阶段主动检测 C# 代码异味与反模式,每条记录说明异味、危害、正确修复方式及对应 CA 规则或交叉引用。
主要能力:资源管理(IDisposable 误用,如缺少 using、未释放字段、Dispose 模式错误,对应 CA2000、CA2213、CA1816);警告抑制技巧(CS0067、CS0219、无 restore 的 pragma、无理由的 SuppressMessage);LINQ 反模式(过早 ToList、多次枚举、EF Core 客户端求值、Count()>0 代替 Any()、嵌套 foreach、Where().First(),对应 CA1851、CA1827、CA1826);事件处理泄漏(未取消订阅、构造函数中触发事件、async void 处理器、未做 null 检查、静态事件未清理,对应 CA2214);设计异味(上帝类、长方法、长参数列表、特性依恋、基本类型偏执、深层嵌套);异常处理缺口(空 catch、捕获基类 Exception、记录后吞掉、finally 中抛出、throw ex、丢失内部异常,对应 CA1031、CA2200)。
使用方式:作为技能在 C# 工作流中触发;可通过项目中的 <AnalysisLevel>latest-all</AnalysisLevel> 启用相关 CA 规则,分析器配置参见 dotnet-csharp-coding-standards。
适用场景:C# 代码审查、重构与质量改进。
限制:不覆盖 LLM 生成错误(见 dotnet-agent-gotchas)、SOLID/DRY 设计原则(见 dotnet-solid-principles)、命名与风格约定(见 dotnet-csharp-coding-standards)。