【问题标题】:How to get Full Call graph for Documentation Purposes?如何获取用于文档目的的完整调用图?
【发布时间】:2011-03-16 16:06:11
【问题描述】:

我们的团队需要记录代码中的每个方法,并描述传入和传出的内容等。是否可以自动生成一个包含完整调用层次结构树的文档,该层次结构从一个函数开始,一直到所有可能的调用扩展?如何?使用eclipse、spring、hibernate。此外,我们还可以访问 Netbeans,以及任何其他有帮助的东西。

我知道这完全没有必要,但有时我们会发现自己处于这种情况下,对此无能为力:-)。

基本上我需要一个java调用图生成器,我想我找不到的原因是因为虚函数阻止了静态分析?

【问题讨论】:

  • “我知道这完全没有必要……” 因为(例如)Eclipse 可以交互地显示任何方法的调用层次结构,并能够导航到代码的实际调用。 “...但有时我们会发现自己处于这种情况。” 有时我们需要指出某些“功能”请求是愚蠢的。你有我的同情。
  • 呵呵,谢谢,但我不认为管理层想学习如何使用 eclipse,他们想要一个静态文档 :-)。

标签: java eclipse netbeans jakarta-ee callstack


【解决方案1】:

我强烈推荐doxygen

即使使用“未经处理”的代码,它也会生成调用树、类继承图等 HTML。如果您添加一些特殊格式的 cmets(每个类、函数、值得注意的数据结构一个),您可以从中获得更多更多

查看examples 和巨大的list of projects that use doxygen

我个人不会使用其他任何东西,并坚持我公司编写的所有代码都使用 doxygen。

编辑:P.s doxygenis 非常有用,即使在未注释的代码上,它也是我在继承别人的遗留代码时寻找的第一个工具。没有什么能这么快地让我有了这么好的概览。

【讨论】:

  • 看起来很完美,我会试试的。谢谢!
  • 如何让它显示一个特定函数的调用树图?它只记录了哪些函数在哪些类中,它们的返回类型和参数以及哪些类在哪些包中。
【解决方案2】:

这不是您问题的确切解决方案,购买您可以使用 Doclet API 并编写自己的 Doclet。您可以访问方法及其参数和返回类型等等。当您采用这种方式时,您还可以获取该方法的 cmets 以用于文档目的。

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 1970-01-01
    • 2017-12-31
    • 2011-03-01
    • 1970-01-01
    • 2012-06-29
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多