# 代码规范
# git提交规范
- git分支三层分支: 个人分支、开发分支、线上分支;开发过程中依次向上层合并分支;
- git提交注释规范:git commit -m type: xxx
```
type 用于说明本次 commit 的类型,必须是以下枚举值:
feat: 提交新功能,feature 的缩写
fix: 修复bug
docs: 文档改动
style: 不涉及代码逻辑的改动,如增加空格、代码格式化、增加分号等
refactor: 对原有代码进行重构,即不增加新功能,又不修复 bug
perf: 改进代码性能的修改,performance 的缩写
test: 增加/修改现有测试用例
chore: 对构建过程、辅助工具或依赖库的更改
```
# 命名规范
- 文件、文件夹命名统一使用
-
连接,如application-manage
- 路由路径定义:按照对应文件所在路径命名,保证能看到路由就能直接找到对应页面。如对应文件所在路
src\views\business-management\views\application-manage\register\index.vue
,则路由路径为/auth/application-manage/register
- business-management中views中文件中须有
readme.md
说明各个文件含义,同时其中的api和路由中文件夹命名和views中的文件一一对应 - js属性、方法命名为小驼峰命名方法如businessId,类名使用大驼峰命名法如BusinessClass,常量全部使用大写如LOOKUP、BUSINESS_TYPE(单词之间使用下划线分割)。
- class命名使用
-
连接单词如custom-name,id命名使用小驼峰命名如customId - 组件中属性、方法使用英文,不得使用中文拼音,同时增加注释,方便后期维护
- 模块的主入口文件应命名为
index.[js,ts,vue]
等,子页面放在模块内components
目录下 - 所有绑定事件的方法应统一前缀
on
或handle
,所有后端拉取数据的方法应统一前缀get
# 代码规范
- 对重复使用两次以上的代码应提取成公共方法或组件
- 避免使用“魔数”,代码中所有关于状态类型的值应该常量化,并添加注释
- 对通用的样式进行提取,对私有代码需要私有化,如使用vue的
scope
,CSS Modules
,单独命名空间等 - 通用组件应避免与业务紧密结合,提升组件的可复用性
- 尽量使用
async await
代替Promise
,使用async await
需要使用trycatch
捕获异常 - 考虑对页面级别的异常进行统一包装处理,业务代码只注重业务逻辑
- 避免在
jsx
或模板中出现复杂逻辑,嵌套逻辑等 - 模块应提供统一的出口文件,如Vue的
components
应提供index.vue
统一输入所有组件
# 静态资源规范
- 对一般不会修改的图片,插件,组件库等使用cdn
- 对于小图标建议使用
svg
或 文字图标,与UI达成共识 - 静态资源使用缓存,服务器端使用gzip进行压缩
- 使用
webP
代替png
图片
# 样式规范
- 尽可能使用低优先级的选择器
- 避免使用!important
- 组件样式应方便按需修改,对关键样式可暴露对外属性进行配置
- 对常用色彩值,尺寸等建议用常量进行定义
- 样式写法采用bem规范,如:page-btn__prev
- 覆盖样式
# Vue必要规范
- 组件名为多个单词
- 组件
data
必须是一个函数,他的返回值必须是一个对象 prop
定义应该尽量详细,提供默认值及类型要求v-for
必须设置key
,key
应该是不重复且不应该为index
- 避免
v-if
和v-for
用在一起,可对数据进行filter
之后再遍历 - 为组件私有样式设置作用域
- 和父组件紧密耦合的子组件应该以父组件名作为前缀命名,如
table
与table-item
- 多个属性应该分行撰写
← 个性化