关于 dotnet-design-pattern-review
面向 C#/.NET 项目的代码审查技能,检查设计模式、架构与工程实践,并提供可执行的改进建议,不修改代码。
主要功能
- 01设计模式实现审查
- 02架构与 SOLID 原则评估
- 03异步、性能与可维护性检查
- 04安全、测试与文档审查
适用场景
- 01审查命令处理器和仓储设计
- 02查找依赖注入与配置问题
- 03项目评审前检查代码
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill dotnet-design-pattern-review安装后在 Claude Code 中输入/dotnet-design-pattern-review确认已加载。
详细介绍
.NET/C# 设计模式评审
评审 ${selection} 中的 C#/.NET 代码的设计模式实现,并为解决方案/项目提出改进建议。不要对代码做任何修改,只提供评审。
必需的设计模式
- 命令模式:泛型基类(
CommandHandler<TOptions>)、ICommandHandler<TOptions>接口、CommandHandlerOptions继承、静态SetupCommand(IHost host)方法 - 工厂模式:复杂对象创建的服务提供程序集成
- 依赖注入:主构造函数语法、
ArgumentNullException空值检查、接口抽象、正确的服务生命周期 - 仓储模式:异步数据访问接口,连接的提供程序抽象
- 提供程序模式:外部服务抽象(数据库、AI)、清晰的契约、配置处理
- 资源模式:用于本地化消息的 ResourceManager、单独的 .resx 文件(LogMessages、ErrorMessages)
评审清单
- 设计模式:识别所使用的模式。命令处理程序、工厂、提供程序和仓储模式是否实现正确?是否缺少有益的模式?
- 架构:是否遵循命名空间约定(
{Core|Console|App|Service}.{Feature})?Core/Console 项目之间是否恰当分离?是否模块化且可读? - .NET 最佳实践:主构造函数、返回 Task 的 async/await、ResourceManager 用法、结构化日志、强类型配置?
- GoF 模式:命令、工厂、模板方法、策略模式是否实现正确?
- SOLID 原则:是否存在单一职责、开闭、里氏替换、接口隔离、依赖倒置的违规?
- 性能:是否正确使用 async/await、资源释放、ConfigureAwait(false)、并行处理机会?
- 可维护性:关注点是否清晰分离、错误处理是否一致、配置使用是否恰当?
- 可测试性:依赖是否通过接口抽象、组件是否可 mock、是否可异步测试、是否兼容 AAA 模式?
- 安全性:输入验证、凭据安全处理、参数化查询、安全的异常处理?
- 文档:公共 API 是否有 XML 文档、参数/返回值说明、资源文件组织?
- 代码清晰度:命名是否有意义并反映领域概念、意图是否通过模式清晰表达、结构是否自解释?
- 整洁代码:风格是否一致、方法/类大小是否合适、复杂度是否最小、是否消除重复?
改进重点领域
- 命令处理程序:基类中的验证、一致的错误处理、恰当的资源管理
- 工厂:依赖配置、服务提供程序集成、释放模式
- 提供程序:连接管理、异步模式、异常处理与日志
- 配置:数据注解、验证特性、敏感值的安全处理
- AI/ML 集成:Semantic Kernel 模式、结构化输出处理、模型配置
请提供与项目架构和 .NET 最佳实践相一致的具体、可操作的改进建议。
评论
支持 Markdown