前端(Vue)代码风格及开发规范

127 阅读2分钟

一、命名规则(推荐)

  • 1.根目录名单词用中划线分割
  • 2.目录命名:单词采用中划线方式分割
  • 3.文件命名:采用小驼峰式命名法
  • 4.组件/页面命名:采用大驼峰式命名法

所有文件、方法、参数的命名,都尽量使用两个或两个以上的完整单词,将语义表达清楚,尽量避免使用含义不明确的单词缩写以及数字。

2248223-20220107130639121-568240761.png

二、目录结构

image.png

a.  api - 接口配置,统一管理(应按照后端接口模块建立对应js文件)

b.  assets - 静态文件存放位置

c.  components - 公用组件

d.  filters - 全局过滤器

e.  router - 页面路由,统一管理

f.  store - vuex,统一管理

g.  styles - 全局css样式表

h.  utils - 全局工具方法

i.  views - 视图目录

三、vue单文件属性命名顺序

export default{

name: 'xxx',

components: { },

mixins: [ ],

props: {},

data(){ return{} },

provide() { },

inject: [ ],

watch: { },

computed: { },

activated(): { },

deactivated(): { },

beforeCreate() { },

created() { },

... }

记忆顺序: name -> 子组件 -> mixin -> props 和 data -> provide 和 inject -> watch 和 computed ->keep alive -> 生命周期

其中method方法命名

a. 使用camelCase风格, 统一使用动词+名词形式,例如showDialogBox、hideDialogBox;

b. 动词常用选项,get(单选)、list(多选)、add、update、delete、show、hide等(常用的尽量选这几个,除此之外,不做强制限定,但是风格尽量保持统一);

c. 获取接口数据的方法,以data结尾,便于识别(例如listOrdersData、getOrderData);

d. api内的接口方法,统一用api作为后缀,例如(listOrdersApi、getOrderApi)。

e. 像查询数据之类的方法,如果多个方法分别按不同的条件查询,可以在后面加上by来识别(例如,getItemById、getItemByCode)。

四、css规范

  • 移动端多使用flex布局;
  • 单一职责,能用css实现的,不使用js;
  • 移动端建议使用rem作为计算单位;
  • vue组件内部的style,应加上scoped的标签设定作用域,防止组件之间的样式互相影响。如果多个组件公用的样式,应该整理之后提升到全局公用样式表;建议使用类选择器,尽量避免使用元素选择器;
  • css的样式属性,应该按照一定的顺序书写,养成习惯,对于开发效率和后期维护都有裨益。声明顺序可参考下表(从左到右,从上到下):

image.png

记忆顺序:显示属性(放哪,怎么放)-> 盒子属性(盒子长啥样) -> 文本熟悉和其他(盒子内部装修)

五、代码风格

  • 编码使用ES6风格
  • js内使用单引号
  • 指令缩写,v-for必须加key,避免v-if和v-for一起用
  • props定义需要详细,写注释
  • 公共组件使用说明,务必添加注释,单行注释用//(另起一行)
  • 前端调试时用的console.log(),调试完要及时删除;
  • 尽量将大段逻辑拆分成多个代码块,避免大段代码造成阅读困难;