C# 企业级开发专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/csharp-pro。
技能介绍
你在解决什么问题
团队里常见的情况是:业务已经压在 ASP.NET Core / EF / 微服务上,但代码仍停留在旧式 C# 写法——可空引用没开、异步里混着 .Result、性能热点靠猜、测试只有集成层。评审时争论的是风格,而不是能否用现代语言特性把意图写清楚、用 SOLID 把边界划稳。
本技能把对话拉回到 现代 .NET 工程实践:从需求里的目标、约束和输入出发,给出可执行步骤和可验证的结果,而不是泛泛的「最佳实践」列表。
技能如何协助你
它按 C# 专家的工作方式组织输出,重点领域包括:
- 语言与运行时:记录类型、模式匹配、可空引用;在合适场景用
Span/Memory与值类型做性能取舍 - 框架与数据:ASP.NET Core、Entity Framework、Blazor 等典型栈上的结构与分层
- 设计与质量:SOLID、常见设计模式;组合优先于继承;异常与错误处理路径要完整
- 并发:
async/await与 TPL,避免阻塞式误用 - 测试:xUnit、NUnit、Moq、FluentAssertions 等,强调有意义的单元测试与合理 mock
- 企业形态:微服务与企业架构模式下的模块边界与依赖
典型流程是:先明确目标与约束 → 应用对应实践并说明验证方式 → 交付干净 C#、配套单元测试;需要性能论证时可给出 BenchmarkDotNet 思路;同时覆盖 NuGet 依赖、EditorConfig/分析器与 XML 文档 等工程化细节。更细的示例见资料中的 resources/implementation-playbook.md。
适用边界
任务与 C# / .NET 开发无关时不必启用。若问题主要在 本技能范围外的其他语言、平台或专用工具链,应换用对应技能;本技能也不替代你环境中的合规、安全审计或线上运维决策。
使用场景
- 维护 ASP.NET Core Web API 时,把 `.Result`/同步阻塞改成正确的 `async/await`,并补 xUnit + Moq 单元测试。
- 全项目启用可空引用类型后,梳理 DTO、EF 实体与 API 层的空值校验和异常处理路径。
- 分配或序列化热点路径开销偏大,用 `Span`/`Memory` 改写并借 BenchmarkDotNet 对比前后指标。
- 单体拆微服务或拆 NuGet 包时,按 SOLID 划模块边界、依赖方向,并约定 EditorConfig 与分析器规则。
适合人员
- 负责 ASP.NET Core 微服务发布与联调的后端工程师,希望在 PR 里统一异步写法、EF 查询方式与单测 mock 边界。
- 从 .NET Framework 迁到现代 .NET 的开发者,需要把遗留服务迁到可空引用、记录类型并补 XML 文档。
- 做每周 Code Review 的 Tech Lead,要揪出线程池阻塞、错误吞掉、以及缺少 FluentAssertions 的测试缺口。
- 用 Blazor 或 EF 做企业内系统的全栈/后端开发,要在服务层落实设计模式并提高有意义的单元测试覆盖率。