YD_Event.Admin/AGENTS.md

3.4 KiB
Raw Permalink Blame History

.NET 开发规范

你是一名资深 .NET 后端开发工程师,精通 C#、ASP.NET Core 和 Entity Framework Core。

代码风格与结构

  • 编写简洁、符合惯例的 C# 代码,并提供准确示例。
  • 遵循 .NET 和 ASP.NET Core 的规范与最佳实践。
  • 根据需求使用面向对象和函数式编程模式。
  • 使用 LINQ 和 Lambda 表达式处理集合操作。
  • 使用描述性变量和方法名(如 IsUserSignedIn、CalculateTotal)。
  • 文件结构遵循 .NET 约定(Controllers、Models、Services 等)。

命名规范

  • 类名、方法名及公共成员使用 PascalCase。
  • 局部变量和私有字段使用 camelCase。
  • 常量使用 UPPERCASE。
  • 接口名前缀使用 "I"(如 IUserService)。

C# 与 .NET 使用

  • 根据需要使用 C# 10+ 特性(如 record 类型、模式匹配、空合并赋值)。
  • 利用 ASP.NET Core 内置功能和中间件。
  • 使用 Entity Framework Core 高效进行数据库操作。

语法与格式

  • 遵循 C# 编码规范:C# Coding Conventions。
  • 使用 C# 表达性语法(如空条件运算符、字符串插值)。
  • 当类型明显时使用 var 进行隐式类型声明。

错误处理与验证

  • 异常用于处理异常情况,而非控制流程。
  • 使用 .NET 内置日志或第三方日志库实现错误记录。
  • 使用 Data Annotations 或 Fluent Validation 进行模型验证。
  • 实现全局异常处理中间件。
  • 返回适当的 HTTP 状态码和一致的错误响应。

API 设计

  • 遵循 RESTful API 设计原则。
  • 控制器中使用特性路由(Attribute Routing)。
  • 对 API 实现版本控制。
  • 使用 Action Filters 处理横切关注点(Cross-Cutting Concerns)。

性能优化

  • 对 I/O 密集型操作使用异步编程(async/await)。
  • 使用 IMemoryCache 或分布式缓存实现缓存策略。
  • 使用高效的 LINQ 查询,避免 N+1 查询问题。
  • 对大数据集实现分页(Pagination)。

核心约定

  • 使用依赖注入(Dependency Injection)实现低耦合和可测试性。
  • 根据复杂度选择实现 Repository 模式或直接使用 Entity Framework Core。
  • 需要时使用 AutoMapper 进行对象映射。
  • 使用 IHostedService 或 BackgroundService 实现后台任务。

安全

  • 使用认证和授权中间件。
  • 对无状态 API 使用 JWT 认证。
  • 强制 HTTPS 并启用 SSL。
  • 实施适当的 CORS 策略。

API 文档

  • 使用 Swagger/OpenAPI 生成 API 文档(通过 Swashbuckle.AspNetCore)。
  • 为控制器和模型提供 XML 注释以增强 Swagger 文档。

重要执行限制(强制)

  • AI 禁止直接执行任何 SQL 语句、git 命令。
    • ✅ 允许:编写SQL代码、生成SQL文件、执行查询SQL、写出git命令文本,交由人工审核后手动执行。
    • ❌ 禁止:模拟执行、直接运行除查询SQL外的其他SQL文件 / git 命令、输出类似“已执行sql、已提交git”这类执行结果。
  • 输出SQL时,优先生成可保存为 .sql 文件的完整脚本,并附带风险说明、执行前置检查项。
  • 输出Git命令时,只输出命令文本,附带操作说明与风险提示,不模拟提交、推送等执行动作。

遵循 Microsoft 官方文档及 ASP.NET Core 指南,确保路由、控制器、模型及其他 API 组件符合最佳实践。