图书推荐:Windows开发人员超级工具集

记得很早的时候,曾经听过某牛人的故事——“他写代码都是直接用notepad的”。

未入行时候的崇拜变成了后来的怀疑。能在notepad里面写代码,和真的用notepad写代码,那是两个概念。荀子说:“君子善假于物焉”。真正出色的开发者,往往是那种善于利用工具的人。如果有IDE,他决不会天天用Notepad来折磨自己。当然,在出现问题的时候,优秀的开发者,也是可以打开Notepad,也能够看懂里面说什么的人。

工具会放大人们的工作效率。回到农业社会,一个优秀的农民和一般的农民,在插秧上的生产率差异,不会超过两倍。可是技术社会里面,这种差异被工具大大强化了。唐僧骑马去西天要好几年,今天大家坐个飞机几个小时就到了。

还在技术支持部门工作的时候,曾经一个同事有这样的说法:“最出色的技术支持工程师,是最善于利用搜索工具的人”。往往大家还在研究技术问题的时候,他可以从浩如烟海的文档记录中,找到类似的线索和解决方法。这样一个时间上的差异,可能是几分钟 vs 几小时/几天。

一次短期带领一个开发团队,在任务分配的时候,发现同事对一个任务估了三天,关于邮件地址格式的验证。三天里面包含了学习正则表达式的时间。于是我问:

“这件事情是不是一个常见的问题?”
“是”
“那么是不是应该很多其他人已经有解决方案了?”
“应该是”

接下来我们花了1分钟,Google到了一堆解决办法。再花了不到半小时,整合到代码里面加上测试。

我觉得,寻求更好的工具和更好的使用工具的背后,其实是这么一种思维方式:

如果是一个重复出现的问题,是否可以避免这个问题/降低发生频率,是否可以用工具简化我们的工作;
如果是一个普遍出现的问题,很可能已经有了现有的解决方案和工具;
寻找已有的解决方案和工具(如果没有或者不合适,甚至有些人会自己写一个。但是根据我的经验,绝大部分情况下,我们都可以找到现有的轮子);
学习利用工具高效工作

懒是分两种的:

一种是愚蠢的懒,就是用更少的时间,获得更糟的效果;
一种是聪明的懒,就是用更少的时间,获得更好的效果。

出色的技术人员,往往都是后一种“懒”人。他们不喜欢把时间花在一些重复出现的事情上,比如反复的copy/paste,比如反复调试同一种类型的错误。但是与这种“懒”相反,他们又很很勤奋,勤于主动地思考或者学习,倾向于找到更为本质、高效的解决方法和工具。

所以我个人的习惯,在跟技术人员交谈的时候,会去了解他所使用的工具和了解的深度。如果是一个web开发人员,我可能会了解他是不是知道Fiddler或者别的什么http通信分析工具;如果是使用VS.Net,我会了解他是不是知道和设置过条件断点;不论做什么开发,我都觉得知道Google的高级搜索功能比如site, filetype是一种很好的区分。我会去问他们用什么进行单元测试和性能测试,用什么管理Bug。某种程度上,一个人所使用的工具也代表了他的水平。

感谢技术的发展,让工具的创建和分享变得容易了很多。当然,这也得益于技术人员本身就是喜欢工具和分享的群体。在网上我们可以找到很多出色的工具,甚至还有诸多免费午餐。还有O'Reilly这本书:Windows开发人员超级工具集,帮助我们作了很好的挑选和整理,强烈推荐所有基于Windows开发的同志们阅读。

内容介绍

本书是一本大全式的指南,讲解了170多个免费和开源编程工具、组件和框架,可以帮助您创建、测试和构建优秀的Windows软件,从Windows Forms和ASENET应用到Web服务。本书并非是简单的工具列表,它可以帮助您在每天所面对的常见的和偶尔的问题时选择正确的工具。
  在本书中,您将看到: ·控制管理23个常见Windows和.NET软件开发任务的工具;
  对于每个讲解的工具,它都是一个小型的用户指南,许多内容都是工具的作者编写的;
  它是一个“快速选择”列表,可以帮助您针对特定任务找到和选择适当的丁具;
  在您希望钻研更深入的特征和功能时,可以参考其中大量的在线信息链接;
  本书作者维护着在线网站PowerTools,使您可以及时了解
新工具的信息,知晓本书介绍工具的新版本发布以及工具特征。
  不仅如此,针对Windows开发,它的内容不仅仅局限于Visual Studio。在您计划、开发、测试和推出优秀软件时,这个丰富全面的一站式资源,将永远彻底地改变您完成任务的方式。

posted @ 2008-08-22 08:49  John Xu  阅读(3505)  评论(21)    收藏  举报