第 4 卷
$必须强制使用 ES6, ES7 的新语法,比如箭头函数、await/async,解构, let, for…of 等等$
1.5.6 括号
下列关键字后必须有大括号(即使代码块的内容只有一行):if, else, for, while, do, switch, try, catch, finally, with。
正例:
if (condition) { doSomething();
}
反例:
if (condition) doSomething();
1.5.7 undefined 判断
永远不要直接使用 undefined 进行变量判断;使用 typeof 和字符串’undefined’对变量进行判断。
正例:
if (typeof person === 'undefined') { ...
}
反例:
if (person === undefined) { ...
}
1.5.8 条件判断和循环最多三层
条件判断能使用三目运算符和逻辑运算符解决的,就不要使用条件判断,但是谨记不要写太长的三目运算符。如果超过 3 层请抽成函数,并写清楚注释。
1.5.9 this 的转换命名
因 console.log 大量使用会有性能问题,所以在非 webpack 项目中谨慎使用 log 功能
Vue 项目规范
(一) Vue 编码基础
vue 项目规范以 Vue 官方规范(https://cn.vuejs.org/v2/style-guide/)中的 A 规范为基础,在其上面进行项目开发,故所有代码均遵守该规范。
$请仔仔细细阅读 Vue 官方规范,切记,此为第一步。$
2.1.1. 组件规范
- 组件名为多个单词
组件名应该始终是多个单词组成(大于等于 2),且命名规范为KebabCase格式。
这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的。
正例:
export default { name: 'TodoItem'
// ...
};
反例:
export default { name: 'Todo',
// ...
} export default {
name: 'todo-item', // ...
}
- 组件文件名为 pascal-case 格式
正例:
components/
components/ |- myComponent.vue
|- MyComponent.vue
- 基础组件文件名为 base 开头,使用完整单词而不是缩写。
正例:
components/ |- base-button.vue
|- base-table.vue |- base-icon.vue
反例:
components/ |- MyButton.vue
|- VueTable.vue |- Icon.vue
- 和父组件紧密耦合的子组件应该以父组件名作为前缀命名
正例:
components/ |- todo-list.vue
|- todo-list-item.vue |- todo-list-item-button.vue
|- user-profile-options.vue(完整单词)
反例:
components/ |- TodoList.vue
|- TodoItem.vue