AlloyTeam规范ESlint代码规则

含有所有的ESlint规则;使用babel-eslint作为解析器

命名规则

1.文件名全部采用小写方式,以下划线分割,有复数结构的,要采用复数命名法

html:

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代码时,需要尽量避免多余的父节点


css,scss

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之外,回掉函数必须有返回值

你可能感兴趣的:(JavaScript)