significantfrank
我是阿里巴巴架构师,团队直招技术岗,请联系我:fulan.zjf@alibaba-inc.com

导航

 

刚刚看到一篇文章,说是好的程序员生产力是普通程序员的几倍,甚至上百倍。 文章是一个台湾人写的:http://blog.vgod.tw/2009/12/18/divine-code-10/


对里面关于“工具” 和 “自动化” 的描述,有了一些新的领悟,故记录于此。


公司总是在强调,完成本职工作,只是meet,如果想exceed some 或是 exceed most, 一定要有创新思维或者积极主动的开发一些能够提升效率的工具,或是想想怎么能自动化我们的流程。


我一直不以为然,虽然以前我也写一些工具,但是只是因为当前的工作实在是太耗时,或是太费劲, 在忍无可忍的情况下,才写的工具。例如,以前在本地进行unit test的时候,

因为eBay系统很庞大,initialization需要很长时间,而我又是喜欢在dev的时候频繁的用test做验证的(test driven)的,而每次run unit test,都要忍受长时间的init, 后来我就写了

个TestContainer, 让其只init一次,然后在IDE console中输入test 的 class method 去执行test,就是这个小小的发明,为我个人省了很多时间,当我share给team其他人时,

他们也很appreciate.


但是这个工具开发完全是无意识的,或者说是被逼的。


而看了这篇文章后,我对工具开发有了全新的认识,找到了理论依据:) 最主要心得有以下几点:

Why can we?

1、由于软件开发的特殊性,使得我们在使用工具(软件)的同时,还能创造工具(软件)。其他行业则不行,比如理发师,他可以磨练自己发型设计的技术,却不知道怎样去创造新的剪刀。

When and how?

2、如果在意识到自己已经三番两次手动执行同样的冗长工作时,就应该静下来好好想想是不是有什么办法可以让电脑来做这些事,只要常有这种想法,写这些script和小工具节省下来的时间和自己得到的经验是一辈子都用得上的。


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-01-13 10:16  significantfrank  阅读(200)  评论(0编辑  收藏  举报