代码规范建议
2020-04-02 本文已影响0人
不叫ShaoYu的老王同学
-
变量名采用下划线并且尽可能用英文描述清楚意图例如 projectid可以写作
project_id
-
方法名尽量采用驼峰法 例如
getProjectDetial
-
如果多处使用同一判断表达式应尽量采取定义变量保存表达式结果的方式,这样一是减少代码量,更重要的是方便后期维护 !!注意定义出来的这个变量一定要写清楚注释
-
尽量采用
===
来代替==
-
尽量多用ES6语法 例如:对于ajax请求返回的结果可以采用解构赋值,字符串拼接可以采用模板字符串等等
-
用
async...await
代替generator函数或者多层Promise函数,因为这样简单但是原理是一样的 -
对于判断一个数组或者字符串是否包含一个值的情况用
includes
方法会好一些 -
注意Object.assgin()的使用
-
注意参数可以简写比如:
function getProjectDetail(url,project_id){ //let params = { //project_id:project_id //} //这里可以看到后台需要的参数是project_id,让我们定义的形参也是project_id所以这里可以简写成下面 //let params = { //project_id //} //对于参数较少的情况可以直接定义成下面的这种 {project_id} axios.get(url,{project_id}).then(res=>{ ... ... }) }
-
if...else的优化
//情况一:
let a = 1,
b=2,
c;
if(a=== b){
c = true;
}else{
c === false
}
//类似这种的可以直接写 c = a===b
c=a===b
//情况二:
let a = []
if(a.length>0){
doSthing()
}
//这种注意两点:
//1.判断条件a.length>0可以直接写成a.length即:
if(a.length){
doSthing()
}
//2.利用运算&&巧妙简化,综合1的情况可以直接写为:
a.length&&doSthing()
//情况3对于下面这种情况:
//如果是0,就是乔丹
//如果是1,就是科比
//如果是2,就是韦德
//如果是3,就是麦迪
//有2种处理方式
//1:
//数组映射
let nameArr= ['乔丹','科比','韦德','麦迪']
name = nameArr[index]
//2:
//JSON优化
let nameObj = {
'0':'乔丹',
'1':'科比',
'2':'韦德',
'3':'麦迪',
}
name = nameObj[key]
!!注意 这里不是很推荐switch -case这种方式,不是因为这种方式不好,但就代码量来说,和用if判断没有什么差别,还是要写很多判断,不够简洁。
(如果你喜欢这篇文章,就我一个转、评、赞吧,不足之处还希望诸位大神批评、指正)