【青训营】写代码应该关注什么

2022-11-14 16:52:23 浏览数 (1)


theme: channing-cyan

写代码最应该关注什么

写代码应该有一些原则,需要考虑代码的风格和效率,如果团队一起写的话还要考虑约定,最后要考虑我们的使用场景和应该如何设计。

风格

在团队中,可能每个人的风格都不一样,有的人喜欢结尾用分号,有的人不用分号,还有缩进问题,有人喜欢用空格,有人喜欢用tab,tab缩进也有设置的4个字符有2个字符的。

其实风格没有什么优劣之分,但是在团队中应该注重风格的统一,我们可以使用ESLint来统一进行分风格的约束。

效率

我们在写代码的时候有时候是可读性和效率二者不可兼得,这就需要根据我们的业务场景来进行判断。这个也没什么优劣之分,只不过是取舍问题了。

left-pad事件

当年在GitHub上有很火的事件,left-pad开发者收回了它的开源代码,当时这个npm包很多大型项目都在用,我们来说说这个事情的槽点。 这个left-pad只有十一行代码

代码语言:javascript复制
module.exports = leftpad;
function leftpad (str, len, ch) {
  str = String(str);
  var i = -1;
  if (!ch && ch !== 0) ch = ' ';
  len = len - str.length;
  while (  i < len) {
    str = ch   str;
  }
  return str;
}
1.npm模块粒度

我们看到上面的模块,就十一行代码,但是非常多的人在用它,放到今天其实我们是很难理解为什么这么多人在用。因为当年的打包工具不是很灵活,比如在模块里面引入了几个api,我们只想用这几个api,当时这个是不可以的,只能全部打包。

2.代码风格

这个代码的风格其实可读性很好,on的算法效率也挺好的,我们也可以有改进的空间,可以是代码更简介,效率更高效。

3.代码质量/效率

代码语言:javascript复制
// leftpad优化
    function leftpad(str,len,ch = ' '){
        str = " "   str;
        const padlen = len - str.length;
        if(padlen <= 0){
            return str;
        }else{
            return (" "   ch).repeat(padlen)   str;
        }
    }
    console.log(leftpad(1,8));

MDN里面也有一个示例 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

最后我们还可以使用这个方法来进行优化。

代码语言:javascript复制
 var rpt = " ";
 do {
 rpt  = srt;
 str  = str;
 count &amp;= count -1;
 } while(count);

一般我们用这个不会太经常使用,没必要做过度优化。最后还是返回最上面所说的,我们一定要根据场景设定好我们的代码。

0 人点赞