3

Doxygen が Java などで行うのと同じ方法で、Groovy プログラムのコラボレーション図を生成する方法があるかどうか疑問に思っています。Doxygen を実行してみましたが、Groovy ファイルを解析できないようです (または、違う?)。

4

2 に答える 2

0

doxygen のマニュアルによると、Groovy はサポートされていません(サポートされている言語は、C、C++、C#、Objective-C、IDL、Java、VHDL、PHP、Python、Tcl、Fortran、および D です)。FAQの質問 12 によると、サポートされていない言語をドキュメント化しようとしている場合は、doxygen のソースを変更する必要があります。

Groovy がこれらの言語の 1 つに似ている場合 (私は Groovy を使用したことがありません)、これらの既存のパーサーを使用して、Groovy ソース コードの解析を試みることができます。これを行うには、拡張子を持つファイルに対して正しいパーサーを実行するように doxygen を構成する必要があります.groovy(これは groovy ファイルの正しい拡張子ですか?)。これを行うEXTENSION_MAPPINGには、doxygen 構成ファイルの構成オプションを次のように設定します。

EXTENSION_MAPPING += groovy=Java

これにより、doxygen は、拡張子が.groovy.

于 2012-08-30T09:12:30.267 に答える
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()
    }
}
于 2012-08-30T12:45:57.153 に答える