(零雨其蒙原创 转载请注明)
2007
年
3
月
8
日星期四
第
20
章
将设计映射为代码
准则
如果对象实现的是接口,那么使用接口而不是具体类来声明变量。
实现顺序
类的实现(理想情况下,还包括完整的单元测试)要按照从耦合度最低到耦合度最高的顺序来完成。(
P269
)
将设计映射为代码的实质
我觉得这句话的实质含义就是(
Larman
写出了这句话,但是没有明确这个含义)从
UML
类图到类的定义以及从交互图到方法体之间的存在转换过程。
第
21
章
测试驱动开发和重构
首先应该意识到单元测试的重要意义,它确实有很多优点。然而在实现了功能之后,大家都不愿意再写测试,特别是输入几个数是正确的后——然而有时并非如此,在分层结构中,如果想测试领域层的代码,难不成非要做个界面?然后不断重启
Tomcat
(如果是做
J2EE
开发并且使用
Tomcat
作为服务器),打开
IE
,这样岂不是很浪费时间?(如果使用
J2EE
服务器结果更惨,使用
Netbeans
做一次调试,仅仅进行编译、启动服务器、布署等就要耗费
2
分多钟,我的计算机是
1G
内存呢)。因此使用
XUnit
进行单元测试就比较好了,直接运行
XUnit
,几秒钟就测试完了。而且单元测试是增量的,开发一个方法,就有一个单元测试(当然如果有必要的话,没必要只为一个
getter
编写单元测试),这样避免把产品代码都写完后再进行无聊的测试代码的编写。
而测试驱动开发,将单元测试放在前头,这样就有利于保证编写单元测试了——当然真要懒得写就没办法了。
Larman
总结了几点好处,不再评述。
TDD
的优点:
l
能够保证编写单元测试
。
l
使程序员获得满足感而更始终如一的坚持编写测试
l
有助于澄清接口和行为的细节
l
可证明、可再现、自动化验证
l
改变事物的信心
第
22
章
UML
工具与
UML
蓝图
寻找支持双向工程、生成序列图、与
IDE
结合的
UML CASE