读周爱民的《大道至简》

这种小册子很适合打印出来,然后在乘地铁时看,但我还是在上班时间看完了。:-)

第五章写得很好,还有第七章第一节。

有些地方跳过了,感觉离自己很远,尤其是后语那句“那是细节”,非常之不受用。文中曾经提到开发产品与做项目的区别,我想两者所适用的软件工程也应该是不同的吧。我用开发产品的感受去套用作者的经验,难免有误读之嫌!

希望有志于从事编程的人能够报着“取其精华、去其糟粕”的精神来阅读这本小册子,另一方面,带有贬低编程味道的软件工程书籍是最难被程序员接受的,所以,尽管有些反感,还是希望你能读完他,哪怕跳过其中你认为无趣的部分,毕竟它并不长。

附:

第一次尝试TDD

今天用搭建好的CppUnit做了人生第一次TDD,新手上路,难免显得笨手笨脚,但是仍然感受到了TDD带来的震撼。

首先,每个case都很小,使得发现问题、解决问题的速度很快,极大地缩短了开发周期。其次,这种测试方式使得每个模块不得不写得高内聚低耦合,而这恰恰是高质量软件的特征之一。

当然,工具虽好,也要会用才能发挥其威力。由于是初次使用,还无法做到从最简单的测试开始,上来就写个复杂的,当时还自以为够简单,等测试出了问题才发现有更简单的case没有写。这就好比等到产品出了问题才发现,原来其中一个部件没有测试过,实在不能算是正确的开发方式。陋习难改,还需多加实践啊!