【迈向高薪】提高代码质量的6个小技巧(建议收藏)

1,573 阅读2分钟

「本文已参与好文召集令活动,点击查看: 后端、大前端双赛道投稿,2万元奖池等你挑战!

一、严格遵循公司的编码规范

如果你还在学习阶段,可以先遵循大厂的代码规范

TGideas(腾讯)
netease(网易)
凹凸实验室(京东)
Airbnb(阿里巴巴)

二、限制变量作用域

尽量使用let、const来代替var,避免全局变量被污染。

三、限制传入参数的个数

随着我们公司业务需求的不断增加,传入参数的数量也可能会随之增加,参数组合过多导致函数的复杂度呈几何倍的增长。

所以我们一般限制最大传参个数为3个。
超过3个,我们可以直接把它们包在Object内再传入。

四、简化条件表达式

举个小例子,还有很多使用场景大家自行研究。

业务逻辑:学号(num)>200 而且 学校(school)是掘金小学的学生是女生。

function isGirl(num,school){
  if(num>200&&school==="掘金小学"){
    return true;
  }else{
    return false;
  }
}

简化后

function isGirl(num,school){
    return num>200&&school==="掘金小学";
}

五、一个function只做一件事

一个函数只需要关注一件事

业务逻辑:判断公司今年是盈利还是亏损

/*
    在团队协作时,其他成员在其业务中有个需求需要知道今年是否盈利,
    如果只看isProfit()函数的字面意思就用的话(未告知此函数有发送邮箱给老板的行为)
    会导致莫名其妙邮箱发送的配额就用完了,和发送多封重复邮件给老板的严重事故。
*/
function isProfit(sum,cost){
  let result = sum-cost;
  if(result>0){
    (x)send true to Boss by email;//不要夹带私货
    return true;
  }else{
    (x)send false to Boss by email;//不要夹带私货
    return false;
  }
}

如果公司确实有判断今年是否盈利,并告知老板这一需求,可以这样修改

//发信息给老板
function sendEmail(result){
  send result to user by email;
}
//判断是否盈利
function isProfit(sum,cost){
  return sum-cost>0;
}
//判断今年是否盈利,并告知老板
function isProfitService(sum,cost){
  let result = isProfit(sum,cost);
  sendEmail(result);
  return result;
}

核心思想:

  1. 函数的命名要与行为一致
  2. 非要做两件事,要使用xxx+Service()命名函数来提醒这个函数可能有两个事件

六、early return

过度使用if...else if...else嵌套,极大地增加了代码的阅读难度和降低了项目的维护效率

//看着累吗?逻辑清晰吗?
function start(num){
  if(num<50){
    if(n !== 0){
      if(n !== 1){
        return start(num-1) + start(num-2);
      }else{
        return 1;
      }
    }else{
      return 0;
    }
  }else{
    return "Game Over";
  }
}

使用early return可以在一定程度上解决这个问题

function start(num){
  if(num>=50){
    return "Game Over";
  }
  if(num===0){
    return 0;
  }
  if(num===1){
    return 1;
  }
  return start(num-1) + start(num-2);
}

❤️ 感谢大家

如果本文对你有帮助,就点个赞支持下吧,你的「赞」是我创作的动力。

点赞.gif