含有所有的ESlint规则;使用babel-eslint作为解析器
1.文件名全部采用小写方式,以下划线分割,有复数结构的,要采用复数命名法
1、属性名要使用双引号,不要使用单引号,全小写,用中划线做分隔符
2、不要在自动闭合标签结尾处使用斜线
3、doctype要大写
4、在html标签上加上lang属性
5、声明一个明确的字符编码,通常指定为"UTF-8"
6、用meta标签指定页面应该用什么版本的IE来渲染(content="IE=Edge")
7、在引入css和js时不需要指明type
8、属性应该按照特定的顺序出现以保证易读性,class>id>name>data-*>src等
9、boolean属性不需要声明取值
10、尽量避免用js生成标签
11、在编写html代码时,需要尽量避免多余的父节点
1、属性声明顺序
2、以下几种情况要换行:(1){后和}前;每个属性独占一行;多个规则的分隔符“,”后
3、注释统一用'/**/' (scss中也不要用'//')
4、最外层统一使用双引号
5、类名使用小写字母,以中划线分割,id采用驼峰式命名;scss中的变量、函数、混合、placeholder采用驼峰式命名
6、颜色16进制用小写字母;颜色16进制尽量用简写
7、除了margin和padding,都不需要使用属性简写,尽量分开声明
8、尽量将媒体查询的规则靠近与他们相关的规则,不要放进独立样式文件,也不要扔在底部
9、@import引入的文件不需要开头的'_'和结尾的'.scss'
10、声明顺序:@extend;不包含@content的@include;包含@content的@include;自身属性;嵌套规则
11、去掉小数点前面的0
12、属性值'0'后面不要加单位
13、同个属性不同前缀的写法需要在垂直方向保持对齐,无前缀的标准属性应该写在有前缀的属性后面
14、用border:0; 代替border:none
15、发布代码中不要有@import
16、尽量少用*选择器
javascript
1、return后面需要加分号;
2、这些关键字后面要留一个空格:if,else,for,while,do,switch,case,try,catch,finally,with,return,typeof
3、'}'前面要换行
4、单行注释缩进与下一行代码保持一致
5、多行注释最少三行,'*'后跟一个空格
6、最外层统一使用单引号
7、这些字符串一路按这些的写法,不小写或大写:‘ID','URL','Android','ios'
8、构造函数大写第一个字母
9、常量全大写,用下划线链接
10、对象属性名不需要加双引号;数组、对象最后不要逗号
11、永远不要直接使用 undefined进行变量判断;使用typeof和字符串'undefined'对变量进行判断
12、for-in里一定要有hasOwnProperty的判断
13、不要在同个作用域下声明同名变量
14、不要在一些不需要的地方加括号;例:delete(a.b)
15、数组中不存在空元素
16、换行符统一用'LF',即'/n'
17、对上下文this的引用只能使用'_this','this','self'其中一个来命名
18、一个函数作用域中所有的变量声明尽量提到函数首部,用一个var声明,不允许出现两个连续声明的var变量
19、禁止在普通字符串中出现模版字符串的变量形式`hello ${name}!`
20、禁止在continue,throw,return,break之后还有代码
21、isNaN(foo) 而不是 foo === NaN
22、禁止在 in 或 instanceof 操作法的左侧使用感叹号:如 if(!key in object)
23、有setter的地方必须有getter,有getter的地方可以没有setter
24、数组的方法除了forEach之外,回掉函数必须有返回值