2017-01-30 21 views
2

現在、IntelliJ IDEA 2016.3.3を使用して、Javaソースコードの依存関係分析を行っています。 Matrix Dependency Analysis(DSM)から始めました。たとえば、クラスComparisonComponent(CC)とComparisonDescriptor(CD)の間の関係が何であるかを知りたいと思います。下の画像では、DSM行列はCCが6IntelliJを使用したDSM解析

http://imgur.com/wR4RRzE「image01」の値をCDに依存していることを示しているが、実際にソースで何を意味するのかを知るしようとすると

、あなたは右の四角をクリックすることができます(番号6と書かれています)、「依存関係の使用法を見つける」をクリックします。これはソースコードに戻ります。このタブでは、CDクラスがCCクラスで使用されている場所をタブで示しています。下の図に見られるように、クラスが5回使用されていることを示しています。 5つの場所すべてを簡単に見つけることができます。

http://imgur.com/uNWePUi "image02"

I'veはのIntelliJからDSMマニュアルを読んでいない成功を収めていくつかの研究を行ってきました。私は、DSMマトリックスの数字6が実際にソースコード内でどのようなものであるのかを知りたい。数字が一致する他の例がありますが(DSMマトリックス番号と実際の使用法)、数字が本当に離れている例があります。

ご協力いただきありがとうございます。

ありがとうございました!

Phyllipe

答えて

0

数の違いは、用途は、ソースファイルの検索を行い、検索しながら、DSMは、コンパイル済みのクラスファイルへの分析を実行しているという事実によって引き起こされます。クラスファイルの分析はパフォーマンスのために行われ、ソースファイルのDSM分析は何倍も遅くなります。ただし、クラスファイルとソースファイル間の参照数の間には、参照数に違いがあります。 1つの例は、ソースファイルのimport文ですが、これは明らかにクラスファイルには存在しません。さらに多くの違いがあります。

IntelliJ IDEAのJavaソースファイルでView | Show Bytecodeを呼び出すと、対応するコンパイル済みクラスファイルのバイトコードを表示することができます。このアクションを使用して、Javaソースとクラスファイルの違いを調べることができます。

+0

ありがとうございます。ビューを使用する|バイトコードを表示すると、私が必要なものを正確に行うことができました。 – phillima