2007年3月23日星期五

Programming迷城(二)

说完了公司,然后该说些什么?总想把自己四年来的东西全部说出去,但是很多东西到了嘴边有咽了回去,因为太多了,根本没有任何头绪。那就说说自己最喜欢的,不是Java或者Spring之类具体的东西,而是一种方法,一种思考方式。

如果说自己珍藏的所有计算机相关的书里面自己最为珍爱的就是Uncle Bob的那本《Agile Software Development:Principles,Patterns, and Practices》了,几乎是字字珠玑。全书讲的东西看来很多,比如Refactor,OO ,设计模式之类的,但是有一个精神贯穿全书,那就是Agile--敏捷。不是干软件这行的人不知道敏捷的真正含义,应为软件开发其实就像是一个大焦油坑,你自己发现自己被深陷其中不能动弹,敏捷就是帮助你脱离苦海的工具。TDD(Test Driven Develpoment)就是贯穿敏捷的一条线,从TDD里面衍生出来的很多准则都是从前的人们约定俗成的东西,比如OO,设计模式,重构等等。TDD也是一种测试,但是与以往的测试有所不同,举个简单点的例子来说,从前的测试就像是在工匠们把墙垒完了以后那个那条线来测试这道墙是不是垂直的,如果不是垂直的话就要推到重来;但是TDD则是在垒墙的时候就放下了个垂直线来看你垒墙的时候是不是垂直的,一旦你的墙垒好了以后就是完美的,因为你是只能按照垂直线在工作,最后不会出现推到重做的情况。

简单地说,TDD就是这么简单,就是在你真正的工作之前做好对未来产品的应有的测试,只有通过这些测试的东西才是合格的。说来简单,不过其实TDD包含了很多东西,比如前面说的OO,设计模式,重构之类的,TDD是一条主线,把这些东西全部包含进去了。

所以,朋友们,如果你们现在还在也programming为生,那么不要把自己主要的精力放在ajax,J2EE,Spring之类的上面,而是把自己思维开阔一些吧

没有评论: