美文网首页
重构 - if else

重构 - if else

作者: weberZhou | 来源:发表于2017-10-12 09:41 被阅读0次

    相信所有的程序猿都经历过if else,甚至是很长很长的if else,在你写这些if else ,有没有感觉非常头疼,就像是小学生在抄课本,哈哈哈,现在就换一个思路,重写if else吧。

    const rules = {

        x : function(a,b,c) {},

        y : function(a,b,c) {},

        z : function(a,b,c) {},

    }

    function demo(a,b,c) {

        const action = determineAction(a,b,c);

        return rules[action](a,b,c);

    }

    这里利用函数键值对的方法,来代替了if else的判断,整个逻辑也更加清晰,代码可读性和修改性也比较强了。

    思考:能不能把determineAction也优化一下,看起来会更舒服呢。

    const rules = [

        {

            match : function(a, b, c) {}

            action : function(a, b, c) {}

        },

        {

            match : function(a, b, c) {}

            action : function(a, b, c) {}

        },

        {

            match : function(a, b, c) {}

            action : function(a, b, c) {}

        }

     ]

    function demo(a, b, c) {

        for(let i = 0; i < rules.length; i++) {

            if(rules[i].match(a, b, c)) {

               return rules[i].action(a, b, c);

            }

        }

    }

    相关文章

      网友评论

          本文标题:重构 - if else

          本文链接:https://www.haomeiwen.com/subject/mxrnyxtx.html