過度に複雑で絡み合っている領域を表示できるコードベースの視覚化を表示したいと思っています。
clangが何であるかは知っていますが、この場合に必要なものが得られるかどうかはわかりません。
過度に複雑で絡み合っている領域を表示できるコードベースの視覚化を表示したいと思っています。
clangが何であるかは知っていますが、この場合に必要なものが得られるかどうかはわかりません。
AnalysisTool:それがclangラッパーであることは知っていますが、依存関係図も提供します。
AnalysisToolは元々、2つの主な目的を果たすために作成されました。Clang静的アナライザーの使いやすい実行可能バイナリを提供することと、いくつかの追加チェックを提供することによってClangをカスタマイズすることです。Clang静的アナライザーが初期段階にあったとき、開発者が試してみる唯一のオプションは、LLVMとClangの最新のソースコードをチェックアウトし、コンパイルして、コマンドラインからアナライザーを使用することでした。AnalysisToolは使いやすいGUIインターフェースを提供し、Clangソースコードに触れる必要をなくしました。また、自動更新も提供されているため、ATのユーザーは常に最新のClang静的アナライザーを使用できます。
このツールは、ヘッダーファイルやプリプロセッサを気にすることなく、C / C ++ /ObjectiveCコードのサイコロマティックな複雑さを計算します。したがって、ツールは実際には、コードがどれほど複雑であるかではなく、コードがどれほど複雑に見えるかを計算しています。
同様のツールですべてのインクルードフォルダとファイルを正しく取得するのは非常に難しいため、このツールが必要になりますが、循環的複雑度に関しては、そのような精度は実際には必要ありません。
これらは私が知っている唯一の2つのツールです、これが役立つことを願っています。
当社のソースコード検索エンジンは、各言語のコード構造を使用して検索をガイドし、誤検知を最小限に抑えることで、複数の言語のソースコードの大規模なセットを検索する機能を提供します。
インデックス作成プロセスの副作用として、ファイルのさまざまな複雑さのメトリック(Halstead、McCabe)を計算し、それを任意の方法で処理/表示できるXMLファイルに書き込みます。
CおよびC++用の言語フロントエンドがあります。それらのいずれかは、SCSEがオペレーターに、そしてOPの目的のために、そのような複雑さのメトリックを計算するのに十分にObjectiveCを処理できるはずです。ダウンロード可能なバージョンには、Cフロントエンドが含まれています。
2019年6月に編集:ObjectiveCフロントエンドが追加されました。