概要表示の使い方

Sider Labs の解析結果の画面(ダッシュボード)では、様々な方法でコードクローンの分析を行うことができますが、この記事では「概要」タブにおけるコードクローンの可視化機能について使い方を説明します。

概要タブにはクローンの可視化パネルがあります。ホイール表示は、プロジェクトの全ファイルのうち、コードクローンが存在するファイルのみを抽出し、同一のクローンを持つファイル間の関係を図示したものです。プロジェクトのファイルが円環に沿って表示されています。円環を繋ぐように飛んでいる円弧が2つのファイル間に存在するクローンになります。円弧の幅がクローンのステートメント数に対応しており、円弧をクリックすると、実際のクローンのコードを閲覧できます。一方で、同一ファイル内部のクローンは円環のうえの「コブ」として表現されています。もし、ある程度大きな幅で、異なる2つのファイル間にまたがる円弧が表示されていたら、クローンの内容を確認することをお薦めします。ユーティリティ関数やクラスとしてまとめることで、コード品質をあげられるかもしれません。

ホイール表示の例

例えば上図はある3D画像処理のオープンソースソフトウェアのレポジトリを分析したものですが、”vmStackedVolume.cpp”(黄色)と、”vmBlockVolume.cpp”(ピンク)との間には、ステートメント数が30 から150程度のクローンペアが10個以上検出されており(図中右下の赤い点線部)、ファイルの名称も近いことから何らかの形で共通化できる余地がありそうです。

非常に大規模なプロジェクトの場合、ファイル相関図のファイル名や表示がほとんど見えなくなってしまうことがあります。今後、UI/UXの改善を行っていく予定ですが、ホイール表示の円環にマウスオーバーすると全ファイル名が表示されます。また、図の右上の「拡大」ボタンで図を拡大することもできます。「重要度トップ10」や「クローン数トップ10」のファイルのみで描画することもできます。ご活用下さい。

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.