Cursor AI 开发规范(通用版)

通用项目规范文档:

# Cursor AI 开发规范(通用版)

## 响应规则
- 回答简洁直接,避免不必要解释
- 代码示例仅关键部分
- 使用缩写和简写
- 避免重复信息
- 优先 bullet points
- 直接回答核心问题
- 避免客套话
- 使用短语非完整句子
- 列表展示多项内容

## 格式规则
- 最大响应:300 tokens
- 代码注释仅复杂逻辑
- 避免过度 Markdown 格式化
- 代码引用使用行号格式:`12:15:path/file.ts`
- 仅展示修改部分,使用 `...` 省略无关代码
- 避免完整文件输出

## 工具调用优化
- 避免不必要的文件读取
- 优先使用 grep 搜索而非全文读取
- 批量调用独立工具
- 不重复读取已知内容
- 搜索前明确目标
- 使用文件类型过滤提高效率

## 代码展示规则
- 仅展示修改部分
- 使用 `...` 省略无关代码
- 避免完整文件输出
- 关键行号引用格式:`12:15:path/file.ts`
- 新代码使用标准代码块(带语言标识)
- 现有代码使用行号引用格式

## 禁止操作
- 不生成长文档
- 不输出完整配置文件内容
- 不重复用户已知信息
- 不做冗余确认
- 不输出 ASCII art/表格(除非必要)
- 不修改未明确要求修改的文件

## 验证规则生效
每次回答末尾显示:`✓ 规则生效 | Tokens: ~XXX`

---

## 通用代码规范

### 命名规范
- **变量/函数**:camelCase (`getUserInfo`)
- **常量**:UPPER_SNAKE_CASE (`MAX_COUNT`)
- **类/组件**:PascalCase (`UserProfile`)
- **文件/目录**:kebab-case (`user-profile.ts`) 或 camelCase (`userProfile.ts`)
- **CSS 类名**:kebab-case 或 BEM (`block__element--modifier`)

### 代码风格
- 单引号或双引号保持一致
- 行尾分号保持一致
- 缩进:2 空格或 4 空格(项目统一)
- 行宽:80/100/120 字符(项目统一)
- 尾随逗号:多行对象/数组使用

### 注释规范
- 复杂逻辑必须注释
- 函数使用 JSDoc/TSDoc
- 避免冗余注释
- 注释与代码同步更新

---

## 前端框架规范

### Vue 3
- 优先使用 Composition API
- `<script setup>` 语法糖
- Props 类型定义完整
- 响应式数据合理使用 `ref`/`reactive`
- 生命周期钩子正确使用
- 组件卸载时清理副作用

### React
- 函数组件优先
- Hooks 正确使用(依赖数组)
- Props 类型定义(TypeScript/PropTypes)
- 避免不必要的重渲染
- 清理副作用(useEffect return)

### 通用原则
- 组件单一职责
- Props 向下,Events 向上
- 状态提升合理
- 避免过度嵌套

---

## TypeScript 规范

### 类型定义
- 优先使用 `interface`(扩展性)
- 工具类型使用 `type`
- 避免 `any`,使用 `unknown` 或具体类型
- 函数参数和返回值类型明确

### 类型使用
```typescript
// ✅ 好的实践
interface User {
  id: number
  name: string
}

function getUser(id: number): Promise<User> {
  // ...
}

// ❌ 避免
function getUser(id: any): any {
  // ...
}

组件开发规范

组件结构

  • Props 定义清晰
  • 状态管理合理
  • 副作用处理完善
  • 错误处理到位
  • 可访问性考虑(a11y)

组件通信

  • 父子:Props + Events/Callbacks
  • 跨组件:Context/Store/EventBus
  • 全局状态:状态管理库

组件复用

  • 提取公共逻辑为 Hooks/Composables
  • 通用 UI 组件化
  • 避免重复代码

API 调用规范

请求封装

  • 统一 HTTP 客户端封装
  • 请求/响应拦截器
  • 错误统一处理
  • Loading 状态管理

数据获取

  • 使用 Hooks/Composables 封装
  • 缓存策略合理
  • 错误重试机制
  • 取消请求处理

错误处理

  • 统一错误提示
  • 错误日志记录
  • 用户友好提示

状态管理规范

Store 设计

  • 单一数据源
  • 不可变更新
  • Actions 处理异步
  • Getters 计算派生状态

使用原则

  • 避免过度使用全局状态
  • 组件本地状态优先
  • Store 模块化拆分

样式规范

CSS 预处理器

  • SCSS/SASS/Less 使用规范
  • 变量和混入合理使用
  • 嵌套不超过 3 层

命名规范

  • BEM:block__element--modifier
  • 或 kebab-case:component-name
  • 避免全局样式污染

响应式设计

  • 移动端优先
  • 断点合理设置
  • 弹性布局使用

性能优化规范

代码分割

  • 路由懒加载
  • 组件按需加载
  • 第三方库单独打包

资源优化

  • 图片压缩和懒加载
  • 字体子集化
  • 资源 CDN 使用

渲染优化

  • 虚拟列表(大数据)
  • 防抖节流
  • 避免不必要的重渲染
  • 使用 memo/useMemo/useCallback

性能指标

  • 首屏加载 < 3s
  • 交互响应 < 100ms
  • 长任务 < 50ms

测试规范

单元测试

  • 核心逻辑覆盖
  • 边界情况测试
  • Mock 外部依赖

集成测试

  • 关键流程覆盖
  • 用户场景模拟

E2E 测试

  • 核心业务流程
  • 跨浏览器测试

安全规范

输入验证

  • 用户输入验证
  • XSS 防护
  • SQL 注入防护(后端)

数据安全

  • 敏感信息加密
  • HTTPS 使用
  • Token 安全存储

代码安全

  • 避免 evalinnerHTML
  • 依赖包安全检查
  • 环境变量不提交

工具函数规范

工具库使用

  • 优先使用成熟库(lodash、date-fns 等)
  • 避免重复造轮子
  • 单一职责原则

自定义工具

  • 通用工具函数化
  • 类型定义完整
  • 文档注释清晰
  • 单元测试覆盖

Git 规范

提交格式

<type>(<scope>): <subject>

<body>

<footer>

提交类型

  • feat: 新功能
  • fix: 修复 bug
  • refactor: 重构
  • style: 样式调整
  • chore: 构建/工具变更
  • docs: 文档更新
  • perf: 性能优化
  • test: 测试相关

分支规范

  • main/master: 主分支
  • develop: 开发分支
  • feature/xxx: 功能分支
  • fix/xxx: 修复分支
  • hotfix/xxx: 热修复分支

提交信息

  • 清晰简洁
  • 使用中文或英文(项目统一)
  • 说明修改原因和影响

代码审查要点

必须检查

建议检查


文档规范

代码文档

  • README 清晰
  • API 文档完整
  • 变更日志维护
  • 注释清晰

技术文档

  • 架构设计文档
  • 开发指南
  • 部署文档
  • 故障排查文档

环境配置

开发环境

  • Node.js 版本统一
  • 包管理器统一(npm/yarn/pnpm)
  • 编辑器配置(.editorconfig)
  • 代码格式化(Prettier)

构建配置

  • 环境变量管理
  • 构建优化配置
  • 多环境支持

禁止事项

  • ❌ 生产代码禁止 console.log
  • ❌ 禁止使用 evalinnerHTML(XSS 风险)
  • ❌ 禁止硬编码配置
  • ❌ 禁止提交敏感信息
  • ❌ 禁止使用 any 类型(TypeScript)
  • ❌ 禁止直接操作 DOM(框架场景)
  • ❌ 禁止提交包含 TODO/FIXME 的代码(除非必要)

最佳实践

代码质量

  • 保持代码简洁
  • 遵循 SOLID 原则
  • DRY(Don't Repeat Yourself)
  • KISS(Keep It Simple, Stupid)

开发流程

  • 功能分支开发
  • 代码审查必须
  • 自动化测试
  • 持续集成/部署

团队协作

  • 代码规范统一
  • 定期 Code Review
  • 知识分享
  • 技术债务管理

参考资源


这份通用规范涵盖:
- 响应与格式规则
- 通用代码与命名规范
- 前端框架通用原则(Vue/React)
- TypeScript、组件、API、状态管理规范
- 样式、性能、测试、安全规范
- 工具函数、Git、文档规范
- 环境配置、禁止事项、最佳实践

适用于大多数前端项目,不绑定特定技术栈。
posted @ 2025-12-23 15:24  XiaoZhengTou  阅读(2)  评论(0)    收藏  举报