2016PHP开发者大会回顾:如何编写可测试代码
2016PHP开发者大会回顾:如何编写可测试代码
2016-05-17 11:59 作者:http://www.zjjv.com/ 来源:硅谷网 HV: 编辑:钱旭东 【】
第二届2016PHP全球开发者大会于5月14日在北京国际会议中心隆重开幕!
此次大会吸引了近千的PHP开发者,PHP界的很多大牛,鸟哥,PHP语言创始人Rasmus Lerdorf等各路大咖纷纷到场。可以说,这是一场PHP技术盛会。
各路牛人就PHP开发中的不同问题发表了精彩演讲。
聚合数据的数据平台总监罗承成以PHP开发中的测试环节为主题,发表了题为 《如何编写可测试的代码》的演讲。
罗承成在分享的开始抛出了一个大多数开发者会遇到的问题:
开发的代码不够靠谱,同时也没有好的办法自测,导致了测试环节非常浪费时间。
就如何解决这一问题,罗承成发表了自己的观点。
罗承成提到:在开发中,会有不少人因为代码维护起来太费劲,想去重构,而真的做过重构的人也知道重构之后的系统还是会逐渐走上之前的老路。
问题的关键在于没有用到自动化测试。
如果在每个环节中,都能保障了关键部分的代码有效,那么项目就不会过早瘫痪。
或许换句话说,自动化测试是项目唯一有效的防腐剂。
关于可测试的代码,罗承成提出两条原则。
一 低耦合
二 明确的依赖关系
关于这两条原则罗承成做了非常通俗易懂的阐述:
耦合就是知道的太多了。
比如在工作中,我们和另一个项目的开发人员合作,双方有HTTP的接口,但是项目里还有他们的数据库的连接。现在需要增加一个查询信息的接口,对方开发任务排满了没空做,那就直接从数据库里查吧。
没问题,但是后来对方因为功能需要把数据库表结构改了,他们不会知道你怎么用了他们的数据库,这一上线就把对方的系统搞挂了。
这就是因为知道了不该知道的,而且一旦知道了就免不了会去揣测对方的具体做法,做出一些不可靠的假设,最后都被实现细节相互牵制。
低耦合就是只知道该知道的事儿,不该知道的就别瞎猜,接口咋说的就咋用。
依赖关系,具体的说就是要做一件事,必须满足的前提条件。
比如我们去办个证,他们说需要提供某某证明,等几经周折把证明办下来了, 他们又说哦,你这个情况还需要某某证明,这个证明办下来了,他们又说了,这个证明盖的章不对,得找户口所在地的某某级别的单位盖章才行,这就是不明确的依赖。
为了更好的解释这两条原则,罗承成列举了大量的实战代码案例,对于开发者,实战往往更能使他们热血沸腾。
罗承成在演讲最后还总结了测试驱动开发会带来的好处:
一、测试驱动会促使你写出可测试的代码,不然写测试用例没法下手“有了自动测试的保护,可以随时重构看着不顺眼的代码
二、对于已经完成的代码正确性有十足的信心
三、面对新功能和需求变更,可以对开发时间有准确的估计
四、遇到bug可以快速的定位和修复问题
在演讲的最后,罗承成对聚合数据平台做了一个简短的介绍,聚合数据是服务开发者的一个平台,为开发者或企业提供基础数据API服务。这次能代表聚合数据参会进行交流学习非常高兴,希望借PHP大会这个契机结交更多的朋友,也希望聚合数据的服务,能够助力更多的开发者。
【对“2016PHP开发者大会回顾:如何编写可测试代码”发布评论】
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。