【问题标题】:Tools for analyze Java source code用于分析 Java 源代码的工具
【发布时间】:2013-03-07 23:51:59
【问题描述】:

对于一个学生项目,我需要扩展一个 Java 项目。 问题是这个项目没有很多cmets,很难分析。 我正在寻找一些东西来生成一个类图,如果可能的话,一个序列图。

我已经尝试过umbrello(但是有一些大类的bug)和agilej但是项目有很多包和子包,我没有找到如何递归生成图表。

还有其他工具可以做到这一点吗?

提前谢谢你。

【问题讨论】:

标签: java analyzer


【解决方案1】:

在 Eclipse 中,您可以选择将包表示设置为平面或分层。在平面模式下,您会看到 src/ 文件夹下每个包的完全限定名称,而在分层模式下,您必须展开才能看到 src/com/mypackage 等。在 AgileJ 中,当您处于平面模式时(默认模式为Eclipse)然后无论你从包资源管理器中拖动什么,无论是项目、文件夹、库、Java 源文件、类还是其他任何东西,它都会通过所有权树递归并添加它找到的类,就像你期望的那样做.

您在问题中描述的异常 - 没有通过子包递归 - 当您的包资源管理器处于层次结构模式时发生。在这种情况下,类图只接收到包删除的通知 - 但它无法知道包资源管理器的包表示模式,或者即使拖动来自包资源管理器。

因此,如果您真的想通过包的层次结构向下递归,并且由于某种原因不想在平面模式下使用包资源管理器多次选择它们,那么最简单的做法是切换到资源透视图并在 Navigator 视图中找到您要包含的所有包的父文件夹,然后将其拖到类图上。这将通过子包开始递归搜索类。

请注意,如果您拖入足够多的类(确切的阈值是可配置的),那么它将提供过滤它们的功能 - 例如,您可能想要过滤掉单元测试或生成的类。如果您尝试添加非常多的类(同样,它是可配置的,但默认情况下为 200),那么您将被阻止 - 但是具有 200 个类的单个类图有什么意义,它会只会导致不可读的类图。

【讨论】:

    【解决方案2】:

    另一个 Eclipse 插件称为“metrics”,您可以在 sourceforge 上找到它。它可以以文本和图形形式提供有关 Java 项目的大量信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-31
      • 2012-01-10
      • 2011-09-25
      • 2012-02-29
      • 1970-01-01
      • 2014-08-23
      • 2011-08-22
      • 1970-01-01
      相关资源
      最近更新 更多