cor*_*e07 8 java uml reverse-engineering
对于任何程序员来说,架构师最苛刻的任务之一就是理解其他代码.
例如,我是承包商,雇用来快速救出一些项目.修复错误,计划全局重构,因此我需要最有效的方式来理解代码.什么是概念列表,它们的优先级和最佳工具?
据我所知:反向代码工程来创建对象模型(每个包创建图表不太方便),创建序列图(该工具以调试模式连接到系统并从运行时生成图表).一些可视化技术,使用一些工具不仅可以使用,.java而且还可以使用JPA像Hibernate.为所有代码库生成图表,但添加一些类,然后添加它使用的类.
Sparx Enterprise Architect是逆向工程中最先进的技术还是远离它?还有其他更好的工具?理想情况下,该工具会让我理解代码,好像我自己写的那样:)
Pét*_*rök 11
" 面向对象的重新设计模式 "一书详细介绍了这一点.不幸的是没有附上银弹:-)
但是,它列出了许多用于接管遗留代码的有用技术.简单来说
到目前为止,最重要的工具是你的耳朵,舌头和喉头.询问熟悉代码的人 - 他们将能够比任何软件工具更好地帮助您理解其通用架构.
自动反向工程的完整UML模型通常几乎无用,因为它们无法区分重要的抽象和实现细节 - 这是这些模型的重点.
在调查详细信息时,软件工具对于回答非常具体的问题更有用,例如"调用此方法的位置在哪里?" 或"什么类实现此接口" - 任何好的IDE都能够做到这一点.调试器也可以提供帮助 - 在代码的关键点放置断点并在命中时查看调用堆栈通常非常有启发性.