零雨其蒙's Blog

做优秀的程序员
随笔 - 59, 文章 - 13, 评论 - 58, 引用 - 0
数据加载中……

零雨其蒙《UML和模式应用》学习笔记(五)

 

(零雨其蒙原创 转载请注明)

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

posted on 2007-03-20 14:46 零雨其蒙 阅读(257) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: