【步兵 经验篇】 链式编码 by EOS.
什么是链式编程
链式编程就是以函数返回this的方式把多个语句串联起来。
看起来的效果以及和普通方式的对比
var ball = new Ball;
//普通方式
ball.setColor(0xff0000);
ball.setTag(99);
ball.setSize(100, 100);
ball.setOpacity(128);
scene.addChild(ball);
//大致意思就是将一个100像素大小的、红色的、编号99的、半透明的小球,添加到场景上。
//链式编码
ball.addTo(scene).hasSize(100).hasColor(0xff0000).hasTag(99).hasOpacity(128);
有没有感觉链式编程的思想更加符合我们的思维逻辑,而普通方式则是机械化的。
以语言是方式来描述就是
前者:
这个球是红色的,
这个球编号是99,
这个球大小是100像素,
这个球是半透明的,
场景要添加这个球。
后者:
这个球要添加到场景上,有着100像素的大小,红色,标签99,半透明的属性。
这样看起来会不会觉得恍然大悟~
优点
上面也提到了一点,那就是更贴近人的思维逻辑,思维连贯、语意集中。
这样思路就会变的清晰,因为书写过程和思考方式是一致的,中途没有被打断。
试想一下~
本来想说一句:
小明,书包、面包、饮料都带了吗?
结果变成了:
小明书包带了吗?小明面包带了吗?小明~~~~(咦?刚才想问啥来着)
瞬间就感觉从妈妈变成老老奶奶了啊,小明还没等你说完就跑了,有木有!
另外,
代码从一片,变成了一行,代码变简洁了,
其实可读性也变强了,因为更加适合我们的
思维方式,而且读代码的又是我们,当然可读性就强了=、=
缺点
正所谓任何事情都具有两面性=。=
钱是不是好东西?抢银行的是不是也很叼?
所以嘛,链式编程自然也是有他的缺点的。
(ps:你TM这不逗我吗,所以嘛~个卵啊!毛关系没有好不好!!)
机智如我们,电脑显然是差一大截的,所以嘛,调试的时候。。。
一般会锁定到某一行,然而一行中的信息量过大的话,
程序员是处于完全懵逼的,“早知道拆开写了!” =、=
(ps:年年拖后腿的我,竟然被拖后腿了~哎,完全高兴不起来啊。。)
其实还有一个隐形的缺点,那就是容易hold不住,因为写起来太顺手了,
就容易写破苍穹=。=,好比:
book.name(“水浒传”).has(“宋江”).has(“林冲”).has(“孙二娘”).has(“鲁智深”)………
啧啧啧,然后调试的时候,比如报错定位到这一行,告诉你:
“历史被篡改,原来108将中,有人已申报改名,并批准,程序无法正常运行 ”
(ps: 卧槽,这什么编译器,要不要这么叼。)
然后你就欢快了,完全不知道是哪位啊~
所以代码不宜过长,一般保持在4-5个,至少我不喜欢在上下看代码的时候,
还有用鼠标去下边拖拽滑动条左右滑,所以至少保留在一屏内。
题外话
本来还想贴点代码出来,不过想想还是算了,因为上面已经展示的很清楚了,
贴点出来意义也不大,无非就是让我又冷不丁的装了一个好逼=。=
而且,时间有辣么晚了,所以,碎觉~
(ps:碎觉就是【钻被窝玩会儿手机至于什么时候睡我也不清楚但愿不会又玩着玩着睡着了然后手机pia的一下掉到地上然后提心吊胆的捡起来看看屏碎没碎然后不管碎没碎都没心没肺的继续睡】的意思)
See Again~
之前
真爱无价,欢迎打赏~