Google JS 代码规范
1、使用空格代替tab
2、杜绝var,如果变量不需要被重新赋值,默认应该使用const
3、优先使用箭头函数,可以避免一些this的指向问题
4、使用模板字符串取代连结字符串:
// 连接字符串:
function sayHi(name) {
return 'How are you, ' + name + '?';
}
// 模板字符串:
function sayHi(name) {
return `How are you, ${name}?`;
}
5、优先使用for…of
6、常量命名应该使用全大写格式,并用下划线分割,如果这个常量是一个函数,应该使用驼峰命名法
7、每次只声明一个变量
8、只允许使用单引号包裹普通字符串,禁止使用双引号。如果字符串中包含单引号字符,应该使用模板字符串
Airbnb 代码规范
1、不要直接调用object.prototype的方法,比如hasOwnProperty、propertyIsEnumerable和isPrototypeOf
2、用对象展开操作符浅复制对象,优先于Object.assign。
3、请使用对象方法的简写方式
4、请使用对象属性值的简写方式
vue 风格指南
1、 单文件组件的文件名称应该由多个单词组成,并且要么始终是单词大写开头,要么始终是横线链接
2、应用特定样式的基础组件(也就是展示类的、无逻辑或无状态的组件)应该全部以一个特定的前缀开头,比如Base、APP、V (例如BaseButton.vue、TheHeading.vue)
3、和父组件紧密耦合的子组件应该以父组件名作为前缀命名
4、组件名应该以高级别的单词开头,以描述性的修饰词结尾(例如SearchButtonClear.vue)
5、组件名应该始终是PascalCase的,组件名应该倾向于完整单词而不是缩写
6、避免v-for和v-if同时用在同一个元素上
7、只要有能够拼接文件的构建系统,就把每个组件单独分成文件
8、在单文件组件和字符串模板中没有内容的组件应该是自闭合的,但在DOM模板里永远不要这样做。对于绝大多数项目来说,在单文件组件和字符串模板中组件名应该总是PascalCase的,但是在DOM模板中总是Kebab-case的。声明Prop的时候,命名应该始终使用camelCase,而在模板中使用kebab-case
9、多个特性分多行撰写
10、组件模板应该只包含简单的表达式,复杂的表达式应该重构为计算属性或方法。应该把复杂计算属性分割为尽可能多的更简单的属性
11、指令缩写应该要么都用要么都不用
12、scoped中的元素选择器中,类选择器比元素选择器更好
参考:vue风格指南