最近在学习《Python 测试驱动开发》这本书,看到了很多有用的原则,这些原则可以在开发中指导你,避免很多盲目的行为。对我而言,确实是提高了不少开发的效率,摘录一些书中的小 Tips~
Photo by Matthias Tillen
- 从一个可运行状态到另一个可运行状态(又叫测试山羊与重构猫)
本能经常驱使我们直接动手修正所有问题,但如果不小心,最终可能像重构猫一样,该懂了很多代码但都不起作用。测试山羊建议我们一次只迈一步,从一个可运行状态走到另一个可运行状态。
- 把工作分解成易于实现的小任务
有时,我们要从「乏味的」工作入手,而不是直指有趣的任务。你要相信人只能活一次,平行宇宙中的另一个你可能过得并不好,把功能都破坏了,耗尽所能想让应用再次运行起来。
感悟:这很像我在开发 common/tree
组件时所犯的错误行为,我为了解决一个拖拽与点击事件冲突的小 bug,将整个组件的底层逻辑进行了大规模的重构,进行了我认为很有价值的改动,然后产生了更多的 bug,导致我不得不 reset 到上个 commit,优先保证组件的可用性。如果再给我一次机会,按照 TDD 的哲学,我会每次做一些尽可能小的改动,保证改动后的可用性,然后再一步一步地解决 bug~
- YAGNI
「You ain't gonna need it」(你不需要这个)的简称,劝诫你不要受诱惑编写当时看起来可能有用的代码。很有可能你根本用不到这些代码,或者没有准确预见未来的需求。
作为软件开发者,我们从创造事物中获得乐趣。有时我们冒出一个想法,觉得可能需要,便无法抵御内心的冲动想要开发出来。可问题是,不管想法有多好,大多数情况下最终你都用不到这个功能,应用中会残留很多没用的代码,还增加了应用的复杂度。YAGNI 是个真言,可以用来抵御热切的创造欲。
ps:在最近的开发中,确实谨记了这些原则,确实让我的开发变得井井有条,而不是想到哪里写到哪里,每结束一个小的功能点之后都能通过测试驱动的思想,驱动出下一个小的功能点,这样连贯的思路真的让整个开发过程更加愉悦了~
网友评论