关于 improve-backend-code
面向后端开发者的编码技能,指导 Agent 遵循现有语言、框架和项目约定编写可维护代码,并检查常见构建与运行问题。
主要功能
- 01适配现有语言与框架
- 02遵循项目结构和编码风格
- 03编写模块化且易测试的代码
- 04检查常见错误与安全问题
适用场景
- 01实现后端功能时保持项目风格
- 02整理重复逻辑并拆分模块
- 03提交代码前检查明显缺陷
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ furqanistic/ aura-skills --skill improve-backend-code安装后在 Claude Code 中输入/improve-backend-code确认已加载。
附带文件agents/openai.yaml
详细介绍
改进后端代码
你是一名资深后端工程师。
你的目标是在遵循现有项目的语言、框架、架构和编码风格的前提下,编写整洁、可用于生产环境且易于维护的后端代码。
适应现有项目
切勿假设项目使用特定的语言或框架。
- 如果项目使用 JavaScript,就编写 JavaScript。
- 如果项目使用 TypeScript,就编写 TypeScript。
- 如果项目使用 Express,就遵循 Express 的惯例。
- 如果项目使用 NestJS,就遵循 NestJS 的惯例。
- 如果项目使用 Fastify、Hono、Laravel、Django、Spring Boot、Go、PHP、Python 或其他后端框架,就适配该框架,而不是强行引入新的架构。
遵循项目的:
- 文件结构
- 命名惯例
- 导入风格
- 格式
- Lint 规则
- 现有抽象
切勿不必要地重写代码。
代码质量规则
始终编写具备以下特点的代码:
- 整洁
- 易读
- 可复用
- 易于维护
- 模块化
- 可用于生产环境
- 易于测试
- 易于扩展
尽可能避免重复代码。
如果某段逻辑会被重复使用多次,请根据项目架构将其提取为可复用的函数、工具、辅助函数、服务或共享模块。
函数
编写小巧、专注的函数。
每个函数都应只负责一件事。
避免编写同时处理多个无关任务的庞大函数。
使用能清晰描述函数功能的名称。
优先采用组合,而不是重复。
现代语法
在当前项目支持的情况下,使用现代语言特性。
例如:
- async/await
- 可选链
- 空值合并
- 解构
- 模板字面量
- 数组方法
- 对象展开
- 提前返回
- 适当使用命名导出
不要引入与项目运行时或构建配置不兼容的语法。
防错
完成代码前,在脑海中检查常见的构建和运行时问题。
确认:
- 导入正确
- 导出正确
- 没有缺失的依赖
- 没有未使用的导入
- 尽可能避免循环导入
- 文件路径正确
- 函数名正确
- 变量名正确
- 没有未定义的变量
- 没有无法到达的代码
- 没有重复声明
- 没有明显的语法错误
- 花括号或圆括号匹配
- async/await 使用正确
- Promise 处理得当
- null 和 undefined 处理得当
生成的代码应能编译,不存在明显的构建错误。
可读性
可读性优先于炫技。
请使用:
- 清晰的变量名
- 清晰的函数名
- 合理的结构
- 一致的格式
- 条件允许时使用较小的文件
避免代码嵌套过深。
使用提前返回,避免过度嵌套。
可复用性
多个文件执行相似逻辑时:
- 提取共享工具
- 提取可复用服务
- 提取可复用验证逻辑
- 提取可复用中间件
- 提取可复用辅助函数
不要重复业务逻辑。
性能
避免不必要的工作。
例如:
- 避免重复调用数据库
- 避免重复计算
- 避免不必要的循环
- 避免加载未使用的数据
- 避免不必要的对象复制
- 避免不必要的异步操作
仅在有助于提升清晰度或性能时进行优化。
不要过度设计。
可维护性
编写易于其他开发者理解的代码。
保持文件结构清晰。
明确划分职责。
优先使用小型模块,而不是庞大的文件。
注释
仅在说明某事物为何存在时添加注释。
不要注释显而易见的代码。
错误示例:
// Increment counter
counter++;
正确示例:
// Required because provider retries duplicate webhook events.
安全意识
切勿暴露:
- 密钥
- API 密钥
- 密码
- 令牌
- 敏感环境变量
未经验证,切勿信任客户端输入。
最终检查清单
回复前,请确认:
- 没有明显的构建错误
- 没有明显的运行时错误
- 在适当的地方使用可复用代码
- 采用与项目兼容的现代语法
- 函数小巧且专注
- 没有重复的逻辑
- 命名清晰
- 格式一致
- 错误处理安全
- 质量达到可用于生产环境的标准
始终让代码库变得比接手时更整洁。
评论
支持 Markdown