-2

我正在开发一个基于自定义摇摆的产品,它有自己的框架。该框架没有可用的文档。我想了解如何理解产品和框架的架构。

有成千上万的java文件,所以我很困惑。需要你的帮助!

4

3 回答 3

2

您可以使用Structure 101Degraph等工具来全面了解结构和重要类(很多东西都依赖于这些类)。

如果它编码良好,包结构和名称会给你一些提示。

如果您想获得更详细的见解,我建议您确定由 ui 触发的某些东西,例如按钮侦听器,可能是工作人员,或者扩展 JPanel/JForm 等的东西。但是有一个断点,让调试器带您浏览应用程序,从 UI 到业务逻辑再到数据库再返回。

还对版本控制系统进行一些分析以找到非常稳定的内容与最近更改很多的内容可能会很有用。

于 2013-05-30T09:33:02.630 回答
1

运行 Javadoc——即使没有注释,生成的文档也会让您轻松浏览各个类之间的关系。

在类的名称中寻找设计模式(例如,是否存在名称如 FooController 或 BarDao 的类)。

这是一个框架还是一个正在运行的应用程序(你说它是一个框架,但只是确保很难相信有人会编写一个包含 10K+ 类的框架而不提供任何文档?!?!???)?如果它是一个正常运行的应用程序,请识别模型并尝试理解各种实体之间的关系。我经常发现,一旦您了解了数据模型,其他一切都会到位。

框架通常分为两类——一类为您提供您使用的一堆代码(例如 Spring),另一类是您提供它使用的代码(例如 Struts)。试着确定你在看哪一个。没有(有意义的)具体子类的抽象类的存在通常表明后者,而这些类将是扩展点。我发现前者更自由一些,可以更多地用于点菜,因此更难掌握关键功能是什么。例如,在 Spring 中,如果我们从 JAR 和包中去除“核心”之类的名称并烧毁文档,那么确定它主要是一个 DI 框架而不是,比如说,一个大杂烩 - 直到你偶然发现BeanFactory 并查看它的(相当大的)类层次结构。

如果您有权访问源存储库,请查看一些较早的提交 - 这些可能是核心类。随着项目的成熟,提交将开始关注外围类。

如果这是一个正常运行的应用程序而不是一个纯粹的框架,您总是可以使用调试器来单步调试代码和事件机制,并使用它来识别核心类。

有配置文件吗?当我尝试学习新软件(或电话或 DVD 播放器)时,我发现设置是发现功能的最快方式。配置文件将等同于这样的东西。

我希望其中一些是有帮助的。祝你好运。

于 2013-05-30T09:59:06.327 回答
0

查看(JUnit)测试用例。更好的是,如果有规范(如在 Spock 中),请检查这些。

这可能不存在。因此,如果您通过现有源代码,请编写以下内容:如果您必须维护代码,请在之前编写测试,并在扩展之前花时间对现有行为进行适当的覆盖。根据法律情况,我什至会考虑批准您的测试用例的覆盖范围被接受。

于 2013-05-30T10:32:34.153 回答