OOBootcamp培训收获
OOBootcamp培训收获
今年4月末参加了公司的OOBootcamp培训,培训共有6次,整个下来,有那么几点的收获,这里一一梳理下。
早该梳理的事,一直拖,在我司佩奇的一次督促,我终于决定动笔了。下图右一那位肌肉男就是他
反复确认用户需求
我们做的东西,不论是给自己用,还是商业产品,最终面对的即用户,用户使用,和使用的好,它才可以发挥价值,反之如果得不到用户认可,或者说偏离了用户诉求,那么价值就很低,或者零。
在OO培训中,我们一直围绕着停车场,做了5期【好像是】的开发,一开始做的时候,所理解的与用户实际的诉求有很大的GAP,就这样碰了几次壁,我们逐渐意识到确认需求的重要性。
Test命名
这点收获,相对是我最满意的,为什么呢,因为这个是最直接的。test对应我们确认的用户需求,以一句较短的话来说明一种情况,一种预期
经过讨论和参考我司的实践,我们敲定Test case命名如下
should_xxxx_when_xxx_given
对应就是我们的预期,执行时间,给定条件。
当然同时highlight一点。假如遇到了测试命名过长且无法缩减的情况,在易读性面前,我们需要适当妥协-》即不要为了变短而变短。
程序至简
整个OO培训,我们理论次之,更多的是键盘上见高低,在敲下一段段的C时,我们也在思考和讨论,代码究竟应该如何如何,好的代码应该如何如何。有一点,我们很确定,那就是程序至简。
我司建总说过一句话,做项目,做产品,难的是将复杂的事务做简单
。
吐槽下,我所参与的一个项目前后一年多,就3-4个页面,你能想象吗?
比如说微信,点来点去就那几个页面?简单吗?百度搜索就一个输入框,简单吗?
so,复杂事务,我们应该要追求做的简单,Code也一样,我们将Code抽象,具体,最终拆分出一个个简单的单元。程序越是简单,其维护性,易读性也就会提高。
Tasking的好处
第一次了解Tasking是建总pair时,给我的建议。【我又提起了他,没办法,人优秀】
Tasking说白了就是将大象装进冰箱总共分几步
,进而一步步做,各个击破。
目前我是利用Things来将一个工作进行Tasking,然后一步步打卡去完成。
关键信息的表露
在做Tasking时,我们往往会用几句话去梳理,那么话语中需要将关键信息表露出来,这点要highlight下。
TDD的好处
TDD好不好,我想说好。本身来说TDD强化了测试的重要性,并且借住测试,进行了业务点,关键点的细化和梳理。最终为所谓的正确逻辑保驾护航。
我们写在测试的三部分【given,when,then】的时候一步步驱动出了,实际的业务代码。
为什么要先写测试
这问题算作灵魂一问了。其实测试先行,一定程度上成为了确认的再次确认,另外测试敲定了我们业务代码的正确输入和正确输出,so,测试先行是正确和明智的。
目前我很多code都没有做到TDD。这点需要接下来去深刻实践。但不可否认,测试是必要的,TDD也是美丽的。
写在最后
好了,就这么短,就这么肤浅,任性!OO中与教练,同事也是多次碰撞,交流。记得有次到了晚上10点多,辛苦了些,但却是很精彩,我笃信碰撞中提高。这些收获沉淀,在接下来的工作学习中,融合进我的认识。