File tree Expand file tree Collapse file tree 10 files changed +837
-63
lines changed
playground/src/views/LowCode Expand file tree Collapse file tree 10 files changed +837
-63
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ description:
3+ globs:
4+ alwaysApply: false
5+ ---
6+ # 代码规范指南
7+
8+ ## 通用规范
9+
10+ 1. 文件命名
11+ - 使用 kebab-case 命名文件
12+ - 组件文件使用 PascalCase
13+ - 测试文件以 `.test.ts` 或 `.spec.ts` 结尾
14+
15+ 2. 代码格式
16+ - 使用 2 空格缩进
17+ - 使用单引号
18+ - 行尾使用分号
19+ - 最大行长度 100 字符
20+
21+ 3. 注释规范
22+ - 使用 JSDoc 风格注释
23+ - 关键代码需要注释说明
24+ - 避免无意义的注释
25+ - 保持注释的及时更新
26+
27+ ## TypeScript 规范
28+
29+ 1. 类型定义
30+ - 优先使用 interface 定义对象类型
31+ - 使用 type 定义联合类型和工具类型
32+ - 避免使用 any
33+ - 合理使用泛型
34+
35+ 2. 命名规范
36+ - 接口名以 I 开头
37+ - 类型名以 T 开头
38+ - 枚举名使用 PascalCase
39+ - 常量使用 UPPER_SNAKE_CASE
40+
41+ ## Vue 规范
42+
43+ 1. 组件规范
44+ - 使用 `<script setup>` 语法
45+ - Props 必须定义类型
46+ - 使用 defineProps 和 defineEmits
47+ - 避免使用 this
48+
49+ 2. 模板规范
50+ - 使用 kebab-case 命名属性
51+ - 使用 v-bind 简写
52+ - 使用 v-on 简写
53+ - 合理使用指令
54+
55+ 3. 样式规范
56+ - 使用 scoped 样式
57+ - 遵循 BEM 命名
58+ - 使用 CSS 变量
59+ - 避免使用 !important
60+
61+ ## 测试规范
62+
63+ 1. 单元测试
64+ - 使用 Vitest
65+ - 测试文件与源文件同名
66+ - 使用 describe 和 it 组织测试
67+ - 测试用例命名清晰
68+
69+ 2. 测试覆盖
70+ - 核心功能 100% 覆盖
71+ - 边界情况必须测试
72+ - 异常情况必须测试
73+ - 保持测试代码简洁
74+
75+ ## Git 规范
76+
77+ 1. 提交信息
78+ - 使用 commitlint
79+ - 遵循 Conventional Commits
80+ - 提交信息清晰明确
81+ - 关联 issue 编号
82+
83+ 2. 分支管理
84+ - 主分支:main
85+ - 开发分支:dev
86+ - 功能分支:feature/*
87+ - 修复分支:fix/*
88+
89+ ## 构建规范
90+
91+ 1. 构建配置
92+ - 使用 Vite 构建
93+ - 配置合理的构建目标
94+ - 优化构建性能
95+ - 处理资源文件
96+
97+ 2. 发布流程
98+ - 版本号管理
99+ - 更新日志
100+ - 构建检查
101+ - 发布确认
Original file line number Diff line number Diff line change 1+ ---
2+ description:
3+ globs:
4+ alwaysApply: false
5+ ---
6+ # 组件开发规范
7+
8+ ## 组件目录结构
9+
10+ 每个组件应该遵循以下目录结构:
11+
12+ ```
13+ packages/ui/src/components/[ComponentName]/
14+ ├── src/
15+ │ ├── [ComponentName].vue # 组件主文件
16+ │ ├── [ComponentName].ts # 组件类型定义
17+ │ └── [ComponentName].less # 组件样式
18+ ├── __tests__/ # 测试文件
19+ └── index.ts # 组件入口文件
20+ ```
21+
22+ ## 组件开发规范
23+
24+ 1. 命名规范
25+ - 组件名使用 PascalCase
26+ - 文件名与组件名保持一致
27+ - Props 和 Events 使用 camelCase
28+
29+ 2. 类型定义
30+ - 必须使用 TypeScript
31+ - 为所有 props 定义类型
32+ - 导出组件类型定义
33+
34+ 3. 样式规范
35+ - 使用 Less 预处理器
36+ - 遵循 BEM 命名规范
37+ - 使用 CSS 变量实现主题定制
38+
39+ 4. 文档规范
40+ - 组件必须包含使用说明
41+ - 提供 Props 和 Events 文档
42+ - 包含使用示例
43+
44+ ## 最佳实践
45+
46+ 1. 组件设计
47+ - 保持组件的单一职责
48+ - 提供合理的默认值
49+ - 支持主题定制
50+ - 考虑可访问性
51+
52+ 2. 性能优化
53+ - 合理使用 v-show 和 v-if
54+ - 避免不必要的计算属性
55+ - 使用 v-memo 优化渲染
56+ - 合理使用异步组件
57+
58+ 3. 测试要求
59+ - 编写单元测试
60+ - 测试组件的主要功能
61+ - 测试边界情况
62+ - 测试用户交互
63+
64+ ## 发布流程
65+
66+ 1. 版本管理
67+ - 遵循语义化版本
68+ - 使用 changesets 管理版本
69+ - 更新 CHANGELOG.md
70+
71+ 2. 构建发布
72+ - 运行 `pnpm build` 构建
73+ - 使用 `pnpm publish:ui` 发布
74+ - 确保文档同步更新
Original file line number Diff line number Diff line change 1+ ---
2+ description:
3+ globs:
4+ alwaysApply: false
5+ ---
6+ # 自定义指令开发规范
7+
8+ ## 目录结构
9+
10+ ```
11+ packages/directives/src/
12+ ├── directives/ # 指令目录
13+ │ ├── [directive]/ # 具体指令
14+ │ │ ├── index.ts # 指令实现
15+ │ │ └── types.ts # 类型定义
16+ │ └── index.ts # 指令导出
17+ ├── types/ # 通用类型定义
18+ └── index.ts # 主入口文件
19+ ```
20+
21+ ## 开发规范
22+
23+ 1. 命名规范
24+ - 指令名使用 kebab-case
25+ - 文件名使用 kebab-case
26+ - 类型名使用 PascalCase
27+ - 保持命名语义化
28+
29+ 2. 类型定义
30+ - 为指令参数定义类型
31+ - 为指令钩子函数定义类型
32+ - 导出类型定义
33+ - 使用 TypeScript 类型推导
34+
35+ 3. 指令实现
36+ - 实现必要的钩子函数
37+ - 处理指令参数
38+ - 处理指令更新
39+ - 清理指令副作用
40+
41+ 4. 文档规范
42+ - 说明指令用途
43+ - 描述参数和修饰符
44+ - 提供使用示例
45+ - 说明注意事项
46+
47+ ## 最佳实践
48+
49+ 1. 指令设计
50+ - 保持指令功能单一
51+ - 提供合理的默认值
52+ - 支持参数配置
53+ - 考虑性能影响
54+
55+ 2. 性能优化
56+ - 避免不必要的更新
57+ - 优化事件监听
58+ - 及时清理资源
59+ - 使用防抖/节流
60+
61+ 3. 错误处理
62+ - 参数类型检查
63+ - 异常情况处理
64+ - 提供错误提示
65+ - 优雅降级处理
66+
67+ ## 使用示例
68+
69+ ```typescript
70+ // 指令定义
71+ const vMyDirective = {
72+ mounted(el, binding) {
73+ // 指令挂载时的处理
74+ },
75+ updated(el, binding) {
76+ // 指令更新时的处理
77+ },
78+ unmounted(el) {
79+ // 指令卸载时的处理
80+ }
81+ }
82+
83+ // 使用指令
84+ <div v-my-directive:arg.modifier="value"></div>
85+ ```
86+
87+ ## 测试规范
88+
89+ 1. 单元测试
90+ - 测试指令挂载
91+ - 测试指令更新
92+ - 测试指令卸载
93+ - 测试参数处理
94+
95+ 2. 集成测试
96+ - 测试与其他组件交互
97+ - 测试性能影响
98+ - 测试边界情况
99+ - 测试错误处理
100+
101+ ## 发布流程
102+
103+ 1. 版本管理
104+ - 遵循语义化版本
105+ - 使用 changesets 管理版本
106+ - 更新 CHANGELOG.md
107+
108+ 2. 构建发布
109+ - 运行 `pnpm build` 构建
110+ - 使用 `pnpm publish:directives` 发布
111+ - 确保文档同步更新
You can’t perform that action at this time.
0 commit comments