初识Together ControlCenter 6

optman 2003-04-17 07:21:01
安装Together已经有两周时间了,当时小试两把感觉委实不错。今天,重又抽出了时间进行研究,主要尝试的是UML建模和代码的同步,然后是与配置管理工具CVS的集成,最后是单元测试。其余的功能,以后再尝试。现在,就迫不及待的想与各位分享今天的发现。

1.建模
这里只使用了类图(Calss Diagram)。
我以前是使用过Rose(非XDE版)来生成类图,很容易就得到漂亮的类图了,只是从类图到代码的过程比较复杂,至今没有成功过。使用Together后,我惊异的发现,当我在类图里生成一个类后,代码编辑窗口里自动就出现了相应的代码!然后,不管我是在代码编辑窗口里,还是在类图里修改类的属性和方法,双方会自动同步!而且,更令人不可以思议的是,生成的代码很干净,全然没有某些工具那样产生很多累赘的标记!

另外,据说还可以导入已有的代码工程,自动生成类图的。

从此,UML建模不再只是前期的设计说明,完全可以与开发的代码同步!


2.与CVS的集成
当然,很多IDE都会提供这个集成的,所以也不是太在意。


3.与JUnit单元测试框架的集成
也是一键生成测试用例(TestCase),并自动生成对应的类图。另外有一个概念很新奇,那就是Test Servers,估计是可以让测试用例在另一台机器上运行。这里,我选择了Local。

运行用例很简单,只要选择Run Test,就会自动把启动Test Servers,然后编译运行测试用例,然后你可以看到Test Results(能保存历史纪录)。测试结果包括每一个用例的测试结果,消耗时间,失败原因,并可以直接跳转到相应用例代码!

4.直接调试Java代码!
难怪叫做Model-Build-Deploy平台,绝不仅仅是建模工具!


当然了,Together的缺点就是运行速度比较慢,至少在我的PIII933/256机器上。还有各种停靠窗口太多,使得工作空间很乱。


之所以对Together那么感兴趣,主要是它集成了很多很好的开发模式,能够极大的改变我们的开发习惯,提高开发效率。今天的软件开发,要求快速、可靠,已经不是以前那种手工作坊的开发模式所能适应的啦......故此感慨。

好了,再继续尝试其他的功能,一起来探讨学习心得。
...全文
78 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidBone 2003-04-23
  • 打赏
  • 举报
回复
ding
optman 2003-04-19
  • 打赏
  • 举报
回复
初识Together ControlCenter 6(二)

1.Refactoring

代码写到后面,突然想进行代码调整,比如把类名、函数名给修改一下,这就是Refactoring。具体请参见Martin Fowler的“Refactoring- Improving the Design of Existing Code”一书。

Refactoring的思想很好,但是如果没有工具支持,实现起来也很困难。比如要修改函数名
,你要满工程的查找所有引用的地方,并进行替换。辛苦先不说,还很容易出错。现在好了,
有工具支持。在函数名右键选择“Refactoring|Rename Operation...”自动找出所有引用,只
要输入新的函数名,自动全部替换!

有了这个Refactoring的辅助功能,代码爱怎么改就怎么改,就跟玩似的。

支持的Refactoring有:Rename Operation|Move Class/Interface|Extract Interface|Extract Operation|Extract Superclass|Encapsulate Attributes|Pull Up
Operation|Pull Down Operaton


2.Design Pattern
可以通过Class By Pattern...来新建类,自动生成模式框架。可以选择的设计模式很多,
其中就有我比较熟悉的GoF。

如果一开始没有使用设计模式,可以在后来通过选定一个类,然后通过Choose Pattern...
来进行模式扩展。

使用设计模式不再是一件抽象的过程,很容易就应用于实践当中!

3.代码审查(Audits)和代码度量(Metrics)
审查能够发现各种隐含的错误,不规范的代码风格,性能效率低等等。
度量可以得到各种统计数据,而不仅仅是代码行数。

4.无限级的Undo/Redo功能
每一个操作都可以Undo/Redo,甚至文件删掉了也可以重新恢复。让你无所顾忌,随便尝试


62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧