mcpField
D
dotnet-design-pattern-review

dotnet-design-pattern-review

github.com/github测试与质量40.5k11.6k 次安装今天更新
代码仓库

关于 dotnet-design-pattern-review

面向 C#/.NET 项目的代码审查技能,检查设计模式、架构与工程实践,并提供可执行的改进建议,不修改代码。

主要功能

  1. 01设计模式实现审查
  2. 02架构与 SOLID 原则评估
  3. 03异步、性能与可维护性检查
  4. 04安全、测试与文档审查

适用场景

  1. 01审查命令处理器和仓储设计
  2. 02查找依赖注入与配置问题
  3. 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