自己整理的前端编码规范,各位码友们想到了其它的可以留言补充

一,命名规则

1.清晰表达意图,用英文,不用或少用缩写,避免拼音

2.避免造成误导,如定义一个整数 let array=1,容易产生误解

3.变量格式遵守小驼峰规则 如let userName = ‘好人’

4.类的定义彩用大驼峰规则 如class MyGroup{}

5.常量的定义采用大写,用下划线做分割 如const MY_PI = 3.1415926

6.尽量使用ES6的let或const

7.变量避免使用否定得布尔,如isNotError=true

8.变量名不用保留子或关键字

9.jq得变量以$开头,提高可读性

10.禁止声明变量覆盖外层作用域得变量

二,对象

1.对象属性建议用点读取,不用中括号,容易读且易于压缩

2.禁止在对象实例上直接使用Object.prototype得内置属性,如hasOwnProperty

3.for in遍历对象是,会遍历原型链上继承的属性,最好添加hasOwnProperty的判断,更好的办法是Object.keys().forEach

三,数组

1.不要给数组添加属性

2.不要再forEach内操作数组添加删除,破坏原遍历顺序,可能导致意料之外得结果

3.复制数组可用解构,或slice,建议使用解构复制

四,方法,类

1.方法名遵照小驼峰写法,加动词,如get,set,is,has

2.类中私有属性或方法以下划线开头

3.逻辑相对独立的代码块之间增加空行

4.链式调用方法超过三个要换行调用

5.回调嵌套不超四层

6.方法设计遵循单一职责原则,一个方法完成一个功能

7.方法参数不超五个,如过多,可使用对象进行传参

8.建议指定参数默认值

9.不要把入参当做工作变量,容易导致混乱

10.方法中不用arguments,用es6的rest参数代替

11.实现对外API是,入参要做合法性判断

12.项目中,函数定义两种方式,function声明和function表达式,要固定一种,别混乱用 如function getAttr(){} 或者 const getAttr = function(){}

13.建议类的方法可以返回this已支持连续调用

14.保持注释与代码逻辑一致,避免产生误导

15.方法内代码尽量不超50行

五,代码排版

1.一致的代码排版风格,固定IDE得格式化配置,并让整个团队使用

2.缩进,超长换行

3.对象属性超过三个就要换行显示

4.全局是否使用;号,建议使用

5.else放在if关闭括号同一行,trycatch,dowhile也是这样做

6.字符串建议用单引号,拼接用模板字符串

7.废弃代码要删除,不要注释

8.建议不用嵌套得三元表达式

9.if嵌套不超三层

六,其它注意问题

1.一个目录下文件不要超50,代码不要超2000行

2.每个switch都有default,即使他没有代码

3.再window上挂在属性或方法,要添加命名空间 如 window.myProjectName = {}; window.myProjectName.url = “https://*****”

4.建议import只导入使用的模块,不是inport *

5.在使用NaN时要用isNaN判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值