Tinazhou 2009-06-07
今天到图书馆查一些资料,无意之中看到了这本经典的《重构与模式》,才看了第一章,就让我感受颇多。
在这一经典的著作中,作者对TDD的模式,已经推从以了无已附加的和程度。让我感觉没有了TDD的开发模式,就不可能会有重构,而没有重构的代码,不可避免的就会出现设计不足或设计过度的事(相对于设计过度,个人觉得比设计不足来得好多了,过度设计最多就出现在开始的时候多花些工作量,如果是设计不足,那以后维护那真是惨。)
只能通过重构来达到一个良好的设计,而不是在设计之初就尝试对需求进行良好的设计,因为这种所谓的良好的设计是设计过度的来源,必竟设计人员不是预言家,出现过度设计是很难避免的。
作者似乎不是很赞成在设计的过程中加入设计模式,他也举了个粉饰模式的应用的例子,在他看来设计的过种中,不用考虑什么模式。在重构的过程中模式会慢慢的显现出来。
在书中,说起来的确是不错,可是在实设的工作中,总是不能如意的使用TDD和重构。第一,想要做一个良好的测试,并不是一个很容易的事,很难保证在测试的通过就代表程序的正确,近来,我在做一个使用WSDL来生成代码的小模块中想试着用TDD的模式,可是,想使用一个良好的测试来真是很不易,到了最后,这些测试的断言也没有办法玩成。第二,当然是时间问题,这是TDD模式不能实现的大问题,我看大家都有遇到过,虽然有很多什么easymoke等的包,可是写起来还真是很费时间。第三,在页面总是没有 一个好的方案来进行测试
问题的确很多,但怎么也慢慢的感受到了好处,这条路我还是会走下去。