如何为Groovy程序创建协作图?

问题描述 投票:3回答:2

我想知道是否有一种方法可以为Doov为Java等生成Groovy程序的协作图。我尝试运行Doxygen但它似乎无法解析Groovy文件(或者我得到了这不对吗?)

groovy doxygen
2个回答
0
投票

您可以从IntelliJ内部生成图表。它们看起来像这样:


编辑

我认为在groovy中创建正确的协作图是非常困难的(也许是不可能的),因为它是一种带有鸭子类型的动态语言。

如何在协作图中说明这些类:

class Cage {
    private def bird

    Cage(bird) {
        this.bird = bird
    }

    def shake() {
        bird.sing()
    }
}

class Dog {
    def sing() {
        println 'Woof'
    }
}


class Main {
    static void main(String[] args) {
        Cage cage = new Cage(new Dog())
        cage.shake()
    }
}

0
投票

根据doxygen manual不支持Groovy(支持的语言是C,C ++,C#,Objective-C,IDL,Java,VHDL,PHP,Python,Tcl,Fortran和D)。根据FAQ的问题12,如果您尝试记录不受支持的语言,则必须修改doxygen源。

如果Groovy类似于这些语言之一(我从未使用过Groovy),那么您可以尝试使用这些现有的解析器来尝试解析Groovy源代码。为此,您需要配置doxygen以使用.groovy扩展名对文件运行正确的解析器(这是groovy文件的正确扩展名吗?)。您可以通过将doxygen配置文件中的EXTENSION_MAPPING配置选项设置为来执行此操作

EXTENSION_MAPPING += groovy=Java

这告诉doxygen在任何扩展名为.groovy的文件上使用Java解析器。

© www.soinside.com 2019 - 2024. All rights reserved.