优秀的项目源码,即使是多人开发,看代码也如一人之手。统一的编码规范,可使代码更易于阅读,易于理解,易于维护。
name
components
mixins
props
data
computed
filters
watch
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
activated
deactivated
beforeDestroyed
destroyed
errorCaptured
methods
为组件中每一个方法编写方法说明,以下情况,务必添加注释
代码可封装时,要及时封装组件,尽量避免一个index文件出现超过1000行;
1、选择器命名
全英文小写(尽量不要用中文拼音命名)
使用中划线分割多单词的选择器名
禁止使用下划线(修改element自带样式除外)
2、空格
‘{’前留一个空格;
‘:’后留一个空格;
句末不留多余的空格;
3、每个属性声明末尾都要添加分号(单元内统一)
.click-btn {
width: 100px;
}
.aa,
.bb {
color: red;
}
1)定位:position\z-index\top\right\bottom\left\clip
;
2)盒子模型:width、height、min-width、max-height、min-height、max-height、margin、padding;
3) 文字:font、font-size、font-weight、text-align
4) 背景:background-image
5) 其他:animation、transition等
1)属性合并,包括有margin、padding、border、background等
// bad
.aa {
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
margin-top: 10px;
margin-left: 20px;
}
// good
.aa {
padding: 5px 5px 5px 0;
margin: 10px 0 0 20px;
}
2)0符号缩写
0px直接写成 0;
.span {}
<div class="box">
<p class="title">
title
</p>
<div class="content">
<i class="icon"></i>
<p class="text">content</p>
</div>
</div>
css模块化命名
.box {}
.box .tltle {}
.box .content {}
这样命名的好处是,知道该整块的整体样式,易于维护模块迁移或者删除,并且每个样式块都有前缀,不会被覆盖。
<!-- 这里是box2模块 -->
.box {}
.box .tltle {}
.box .content {}
<!-- 这里是box2模块 -->
.box2 {}
.box2 .tltle {}
.box2 .content {}
// bad
let arr={a:1,b:2,c:3}
function foo(){}
// good
let arr = {
a: 1,
b: 2,
c: 3,
};
function foo() {}
function BookDesk() {}
// bad
if (true) return;
// good
if (true) {
return;
}
===
代替 ==
;