记得有人说过最好的程序员是最懒的程序员,这个懒并不是真正的懒惰,而是学会高效率、低重复的工作。其实对于大多数程序员而言,都是在一个固定的框框里面写一些看似不同实际相同的代码,那么你有没有想过使用什么方法能够不写那些完全一样或者几乎完全一样的代码呢?很多人可能更多的是复制,特别是在IDE的帮助下,拷贝一个类,它会自动帮你替换一些相关的东西。这个方法是不对的。你的代码中如果存在一段代码重复三次以上的情况,你就要想办法不这样重复了。我常用的有两种,一种就是写工具类,还有就是使用Template method模式,基本上可以解决90%的问题。
另外一点就是写代码能够做的事情不要自己一遍一遍的重复做,例如这次我写的EJB单元测试框架,其实我可以要求大家写单元测试的时候自己发布EJB,只发布自己需要的,但是我可以从项目的配置文件中读取到这些信息,就应该让框架自己来做;Entity Bean的finder方法MockEJB不支持,我提供了基础代码可以自己写Finder的实现,但是80%以上的finder的实现都很简单,就是两三行代码重复一下,换个字符串就可以了,但是我费了很多时间写正则表达式去解析这些finder,只有很少一些SQL使用了比较复杂的语法(288个里面只有34个)。
也有很多人说程序员很苦很累经常要加班,就我而言,我工作五年多来只加班过三个月,而且不是因为写代码,而是因为我一个人要解决40个人遇到的问题,我解决不了的或者解决方案会影响项目进度的我就要发邮件到我们的上游承包商的人,每天必须阅读和回复的邮件超过100封,而且要使用我并不是很好的英语写。而且我从来没有通宵加班过,最晚的一次是到半夜两点,还是陪项目组的人发布,我自己其实并不需要加班。
学会懒惰,学会思考,学会更深入的研究问题,你慢慢的会发现程序员其实不需要加班也可以搞定。