怎么样才是NB的工程师
记得以前我很喜欢一句话:“当你觉得以前的代码很2的时候,就说明你进步了。”
好赞的一句话是不是?大学的时候,每隔一段时间就会有这样的感觉,感觉自己越来越NB了。
但是,总觉得自己还不算大师,可是差在哪?
在半年前进行了大量的工程实践培训,培训中接触了很多 TDD 和 重构的理论和实践,我也慢慢意识到了差距在什么地方了。
我可以每次都写出比上次更好的代码,但是我不能让我的老代码越来越好。
原来:“菜鸟喜欢重写,大师喜欢重构”。
把原来的东西越改越好远比重头再写一套难得多,而且也更有价值。
生活与重构
但是呢,我这篇文章不是想讲重构的,重构的方法和技巧就不说了。
我是感觉,重构更应该是一种思想,而且不仅仅可以用在代码中,生活中也处处会用到重构和 TDD 的思想。
最近的一件小事,让我把 TDD 和重构的思想结合了起来:
Just Trying To Make IT Work
TDD 的第一步通常是:Just Trying To Make IT Work,生活中很多事都是这样。
就像我家床底,通常是放大箱子和旅行箱的地方,刚开始东西少,直接扔进去就行了。
不用整理,反正外面也看不到。
Continuous Improvement
TDD 和重构相辅相成,当它看起来还不错的时候,可以不去管它,但是在一个点上,就要开始持续改进了。
第一次改进是当我床底的箱子塞“满”的时候,其实它们不是满了,只是太乱了。
于是我开始重构了!第一次重构很简单,我把箱子放整齐就腾出了很多空间。
但是够了吗? 恩!够了!
又过了几个月后,床底又满了。
好吧,第二轮重构开始了!
这次我不仅把箱子放整齐了,我还想方设法把小箱子都塞进了大箱子里。
可是,后面再多怎么办?
想那么多干嘛,后面还会有那么多箱子吗?说不定都搬家了,说不定以前的箱子可以扔了,说不定…
对啊,未来不可预测,只要你知道它可控就行了。
关于效率
回过头来,我又思考了一下这么做是否最高效?
以前总是听人说要做好计划,从小就要把人生都规划好… 这样就不会走弯路了。
可是一开始想那么多,就真的不会走弯路了吗?
这个世界实在持续变化的,你无法预知后面的变化,你也无法在一开始就做好全部的选择。
所以想要效率最大化,不是一开始就规划好路线;而是立刻走起来!然后不断地调整路线。
这就是 TDD 和重构。
它更是一种思想,生活中处处会用到它们。
本作品由 Dozer 创作,采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。