程序员的生产力
刚刚看到一篇文章,说是好的程序员生产力是普通程序员的几倍,甚至上百倍。 文章是一个台湾人写的:https://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和小工具节省下来的时间和自己得到的经验是一辈子都用得上的。
最后更新:2017-04-03 12:54:29
上一篇:
JAVA获取图片大小和尺寸
下一篇:
处理The content of the adapter has changed but ListView did not receive a notification异常
封装printf函数,针对工程中不同的模块(can,gps, gsm)进行调试输出
解决The type or namespace name \'XXXX\' does not exist in the namespace \'XXXXXXXXX\' 的错误
Oracle日期显示问题以及trunc方法的使用
Subqueries are not allowed in this context. Only scalar expressions are allowed.
NHOI 2004 宠物收养所 splay解法
雅虎开始关闭韩国业务并裁员 200 人
成为阿里云大使后 怎么进入管理
感觉
漫谈析构函数(一)——从一个面试题开始
微软爱上 Linux:当 PowerShell 来到 Linux 时