2.4 KiB
2.4 KiB
Git 提交规范
- feat 新增功能
- fix 修复 Bug
- docs 文档更新(如 README、CHANGELOG 等)
- style 代码样式调整(如空格、格式化等,不涉及功能变更)
- refactor 代码重构(既不修复 Bug 也不新增功能)
- perf 性能优化
- test 添加或修改测试代码
- chore 构建过程或辅助工具的变动(如依赖更新、配置文件修改等)
- revert 回滚之前的提交
代码规范
- 使用v-for时必须添加:key
- 组件props必须定义类型和默认值
- 复杂逻辑必须添加注释
- 敏感信息不硬编码
- 变量/函数:小驼峰式命名 (camelCase)
- 组件/类:小驼峰式命名 (pascalCase)
- 合理使用缓存
- 避免不必要的重渲染
- 工具函数放在/utils目录
- 公共组件放在/components目录
常见 class 命名规范
- container 用于页面最外层容器
- header 头部区域
- main 主要内容区域
- footer 底部区域
- left 左侧区域
- right 右侧区域
- title 标题
- nav 导航区域
- banner 轮播图/广告 区域
- tabs 标签区域
- list 列表区域
循环调用避坑指南:
- 页面: page/shopcity/index.vue 城市选择列表页
- 背景: 城市名称列表依赖于父级城市英文首字母简写例:A、B、C, 循环项下的list 进行循环展示
- 场景: 城市列表点击,需要获取点击的城市信息
- 问题: 触发点击事件函数无法接收入参item
- 解决方案: 改为箭头函数 @click="() => { headerSelectMapClick(item) }"
- 原因: 查询DeepSeek给出的解释是, 箭头函数创建了一个闭包,保留了 item 的引用 即使列表重新渲染,也能保持对正确 item 的引用
- 该解释是否正确 不确定 有待考量
- 示例代码