私は自分が視覚的な人間であることに気づき、図や絵を描くことができれば、何かを学ぶのが簡単になることがあります. 私の質問は、プログラミング フレームワーク (.net など) を視覚的にマッピングし、すべてのエンティティ (クラスやメンバーなど) 間の関係を確認したい場合、どのツールを使用すればよいかということです。
6 に答える
NDependを試すことができます。偉大なScott Hanselman がここで詳しく説明しています。 視覚的な依存フォーマットもたくさんあります。ただし、.NET専用のようです。
ツールNDependは、インタラクティブな依存関係グラフとインタラクティブな 依存関係マトリックスの両方を提案します。また、このツールはVisualStudio 2012、2010、および2008に統合されています。免責事項:私はツールの開発者の1人です。
コールグラフ、カップリンググラフ、継承グラフ、依存関係グラフ、非常に大きなグラフ、依存関係サイクルの特定などを表示する必要があるかどうかにかかわらず、NDependはいくつかの視覚的な図を生成します。ここにいくつかのスクリーンショットがあります:
新しいプロジェクトに直面したときに、あらゆる種類の依存関係情報を生成するのにdoxygenが役立つことがわかりました。どうやら「C++、C、Java、Objective-C、Python、IDL (Corba および Microsoft フレーバー)、Fortran、VHDL、PHP、C#、およびある程度の D」を処理するようです。Graphviz を使用してグラフィカルな依存関係チャートを生成します。認識されたすべてのものからのハイパーリンクを使用して、完全なソース コードを含めることができます。運が良ければ、doxygen が理解できるドキュメントが既にそこにあるでしょう。その後、コードをすばやくナビゲートして、すべての関係が何であるかを学習できます。
NickによるDoxygenのコメントを2番目にしています。私はDoxygenforC#.NETを使用しており、クラス図や継承図などを生成します。これは有益なブログ投稿です。
.NETまたは他のフレームワークについてのみ質問しているのかどうかはわかりません。私の経験は、ほとんどがJavaですが、.NETにも同様のツールが存在すると確信しています。
クラスのレベルでは、UMLツールを使用して自動生成された視覚化を取得できます。UMLツールは通常、ソースコードをダイアグラムにリバースエンジニアリングできます。Netbeansは無料で、JavaソースからUMLリバースエンジニアリング機能を備えています。
ただし、クラス図は非常に低レベルであり、より大きなアーキテクチャのテーマについてはほとんど(直接)教えてくれません。その時点で、Structure101のようなツールは、そこにあることに気づかなかった建築特性を発見するのに役立つ可能性があります。試用版があり、CおよびC++にも対応できます。
まともな最初のカットは、単純な PERL スクリプトを記述して依存関係を解析し、そのデータをGraphvizにパイプして視覚化することです。