不二如是 发表于 2019-1-21 17:09:52

0 2 3 9 ★ JS 函数编写的#4条心法

本帖最后由 不二如是 于 2020-3-30 15:58 编辑

上一篇: 0 2 3 8 ★ 臊瑞会JS真的了不起?! |【吹水含量过高】

static/image/hrline/2.gif

今天给鱼油科普几个 JavaScript 函数的编写原则,之前写过一个长文:解读Google's JS 代码规范。

这次只是几个简单但很实用的小技巧,通过糟糕和秀儿的代码演示进行对比。

总共是 5 条,列一个提纲,鱼油按需阅读即可:
**** Hidden Message *****



1、删除弃用代码

在项目中,有些代码可能我们已经注释掉了,但是担心以后会重用,有点舍不得删除。

如果这样,这些代码可能永远都放在那里,建议立马删除掉。

因为我们也可以在代码库历史版本中找到它。



2、不要随便优化

我们通常使用的现代浏览(Chrome、Safari、Firefox)已经做了很多引擎优化。

比如下面例子所示,在老的浏览器中由于list.length没有做缓存,每次迭代都会计算,造成不必要的开销:
// 糟糕
      for(var i = 0 , len = list.length ; i < len ; i++){
            // 操作
      }
      
      // 秀儿
      for(var i = 0 ; i < list.length ; i++){
            // 操作
      }



3、少用“非”条件句

用了太多非,除了炫耀自己的逻辑好,感觉很给别人添麻烦。

就像简单的一句话:我是小可爱,非要加“非”,我不是一个小可爱才怪...

上代码:
// 糟糕
      function isKeyDomPre(node){
            //...
      }

      if(! isKeyDomPre(node)){
            //...
      }

      // 秀儿
      function keyDomPre(node){
            
      }
      if(keyDomPre(node)){
            
      }



4、不要传 flag 参数

通常情况下,保证一个函数只干一件事,是最好滴。

传入多个行参,想干很多事情,很不适合后期维护:
// 糟糕
      function superFunction(sum,result,name){
            if(sum){
                //...
                if(name){
                  //...
                }
            }
            else{
                return result;
            }
      }

      // 秀儿
      function addFun(sum,result){}

      function showName(name){}

static/image/hrline/2.gif


下一篇: 0 2 4 0 ★ 最简单的判断看出菜鸟与大神的区别 |【还不来学 JS】



如果喜欢,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

这位鱼油,如果喜欢本系列Js帖子,请订阅 专辑 -->(传送门)(不喜欢更要订阅{:10_297:} )

longren_fu 发表于 2019-2-10 14:06:34

1111111

TCY 发表于 2019-2-16 18:02:13

第五条呢?

zhanyy08 发表于 2019-3-8 15:04:35

努力学习中

dcgcjtrac 发表于 2019-4-14 23:11:38

回复

讨债仔 发表于 2019-5-22 17:18:23

{:5_90:}

Qmh 发表于 2019-8-31 10:35:26

{:10_257:}

xuexiji 发表于 2019-9-23 21:00:58

学习

js0086 发表于 2020-3-30 15:03:51

牛逼啊

MoukuC 发表于 2020-5-5 09:28:47

1

tianyuan 发表于 2020-5-12 10:56:08

{:10_277:}

一笙彤 发表于 2020-5-23 16:06:16

2
2

iguazu 发表于 2020-9-13 08:21:30

{:5_109:}

GLBGLB 发表于 2020-12-28 16:27:47

q

717986230 发表于 2021-9-16 12:44:26

1

Aristo 发表于 2022-2-8 20:43:58

ilovefishc

jack6666 发表于 2022-10-14 15:26:34

1

小凯2013 发表于 2023-8-25 18:32:09

?????
页: [1]
查看完整版本: 0 2 3 9 ★ JS 函数编写的#4条心法