我是个十足的台球爱好者。而自认为技术不错只是状态不稳定,嘿嘿。我也很喜欢写程序,至少以前是,虽然现在我更多把他看作是一种工作。但是我窃以为打台球与写程序是有相同相通之处的,如下。 架构思维 我们都知道打台球的时候要注意下颗球的走位,而且这个过程中你通常还得让这个走位更适合你在击打下一个颗球之后的连续击打。对于美式黑八,高手们通常都在开球之后就观察局面,布置战术流程,每颗球怎么走走到哪里。 在写程序的时候这个通常叫做架构思维。实际上在一个团队里,架构思维是很重要的。当你处在一个team work,你的每一个工作每一个项目都在不同程度的为你的团队、团队的其他成员以及你开发的系统服务。在一个较大系统的开发中,如果不注重架构,便会出现以下情况:1. 牵一发而动全身,当你要改动你的代码的时候你不得不去关注其他各种系统的异常,加大其他开发工程师和测试工程师的工作量,严重时可能会引起众怒。2. 一处不干净的代码可能拖慢整个系统,往往是这样,在你coding的过程中出现了一些状态,比如太困,昨天喝太多,晚上有个多年不见的美女约你心神不定盼着加班,你提交的代码可能会有那么一点两点不太干净的地方,他会消耗一些不应该被消耗的系统资源,增加了那么一点点的系统压力,这时候也许只有良好的架构才能稍微的暂时解救你,以致你在manager发现之前有足够时间完成修改。3. 架构的好处还有很多很多,它还会帮助你减少你的代码量,它有时还会帮助你处理进程的异常跳出,让你把更多的时间放在Controller层,去实现更多的功能。总之,好的架构就能带你上天堂,不好的架构就只能带你去住套房了。 稳定的心态 我说我自己经常觉得自己的状态不好,丁小晖在之前也经历了一个状态低迷期。某高人说,实际是央视的台球解说说,从业余高手到职业高手的一道重要的标准就是稳定的状态。而这个稳定的状态来自于心态。 程序员也需要稳定的心态,程序员有时候是需要高强度工作的,如果没有良好的心态,往往会觉得厌倦,特别是当你遇到一个不算难但是很繁杂的问题的时候,心态就发挥作用了。所以我觉得,平静的面对每一个问题,平静的处理每一个问题,是有技术的程序员到有经验且有技术的程序员的一道重要的标准。不急不躁就能写出更多优秀的代码而不至于出一堆人品问题,也会减少第一部分第二条所描述的问题的出现几率。 保持自己的技术领先 打台球是需要不断的学习技术和保持自己的技术领先的,即便你是个职业高手,打台球保持自己的精准度以及不断提高处理出杆时角度把握的精确是最重要的,只有你做到了才能赢得更多的胜利。 程序员在这一点上也是毋庸置疑的。就一个web程序员而言,从最初的CGI到Perl/PHP,到Java,再到Ruby等,各个时期都在流行的不同的技术。而且这个时期都很短。虽然基础是相当重要的,但是保持自己的技术革新也是相当重要的。不光是语言上的更新,还有自己的思维能力。有经验的程序员之所以能成为有经验,不应该是因为做过更多事情,遇到过更多异常情况,处理过更多的报错,而应该是比菜鸟们更懂得思维的诀窍,能更快更周密的进行思维。说到提高,程序员应该提高的还有与人交往的能力,与人交往并不是市场部门才有的专利,它对于技术人员也相当重要,与同事更好的交流能够协助你在工作中更好的与各部门进行协作,降低工作的难度,与其他人交流能够帮助你得到更多的信息,听到更多对事情的看法,学到更多能让你飞跃的知识。