13

過度に複雑で絡み合っている領域を表示できるコードベースの視覚化を表示したいと思っています。

clangが何であるかは知っていますが、この場合に必要なものが得られるかどうかはわかりません。

4

2 に答える 2

10

AnalysisTool:それがclangラッパーであることは知っていますが、依存関係図も提供します。

AnalysisToolは元々、2つの主な目的を果たすために作成されました。Clang静的アナライザーの使いやすい実行可能バイナリを提供することと、いくつかの追加チェックを提供することによってClangをカスタマイズすることです。Clang静的アナライザーが初期段階にあったとき、開発者が試してみる唯一のオプションは、LLVMとClangの最新のソースコードをチェックアウトし、コンパイルして、コマンドラインからアナライザーを使用することでした。AnalysisToolは使いやすいGUIインターフェースを提供し、Clangソースコードに触れる必要をなくしました。また、自動更新も提供されているため、ATのユーザーは常に最新のClang静的アナライザーを使用できます。

トカゲ:

このツールは、ヘッダーファイルやプリプロセッサを気にすることなく、C / C ++ /ObjectiveCコードのサイコロマティックな複雑さを計算します。したがって、ツールは実際には、コードがどれほど複雑であるかではなく、コードがどれほど複雑に見えるかを計算しています。

同様のツールですべてのインクルードフォルダとファイルを正しく取得するのは非常に難しいため、このツールが必要になりますが、循環的複雑度に関しては、そのような精度は実際には必要ありません。

これらは私が知っている唯一の2つのツールです、これが役立つことを願っています。

于 2011-09-19T19:07:06.367 に答える
0

当社のソースコード検索エンジンは、各言語のコード構造を使用して検索をガイドし、誤検知を最小限に抑えることで、複数の言語のソースコードの大規模なセットを検索する機能を提供します。

インデックス作成プロセスの副作用として、ファイルのさまざまな複雑さのメトリック(Halstead、McCabe)を計算し、それを任意の方法で処理/表示できるXMLファイルに書き込みます。

CおよびC++用の言語フロントエンドがあります。それらのいずれかは、SCSEがオペレーターに、そしてOPの目的のために、そのような複雑さのメトリックを計算するのに十分にObjectiveCを処理できるはずです。ダウンロード可能なバージョンには、Cフロントエンドが含まれています。

2019年6月に編集:ObjectiveCフロントエンドが追加されました。

于 2011-09-19T20:49:00.653 に答える