元セブ島在住のエンジニアの僕「Tommy」が、プログラミング・英語・セブ事情を発信するブログ

Tommy's blog

ソースコードを見える化するツール【結論→Sourcetrailを使う】

11月 29, 2019

プログラム学生
ソースコードが複雑すぎて、どんなことになってるか分からないんですが、、、何か良い方法がありますか?
ソースコードの中身を解析して、可視化してくれる無料のツールの「Sourcetrail」というのがあるので、それを紹介するよ。
Tommy

この記事で分かること

  • ソースコードが複雑な時の対処方法が分かる
  • ソースコードを見える化するツール(Sourcetrail)が分かる
  • 「Sourcetrail」のインストール方法が分かる

ソースコードを見える化するツール概要

この記事では、ソースコードを見える化するためのツール「Sourcetrail」の使い方について説明して、ソースコードをどのように見える化するのかを説明します。

プログラマの仕事は、人が書いたソースコードに新規のソースコード書き加える機会が多く存在します。既存のプログラムに何かを書き加えるためには、その既存のプログラムがどのように動いているかを一旦理解する必要があります。しかし、自分が書いたコードであれば理解できるのですが、人が書いたコードは相当に読みにくいものです。ソフトウェアの開発に携わっているとよく下記のような問題に遭遇します。

  • ソースコードの全体像が掴みにくい
  • ファイル同士がどう関係しているかわからない
  • 同じ変数やマクロがどのファイルで使われているかわからない

そんな時には、「Sourcetrail」というツールを使うことで、問題を解決してくれます。

  • ファイル、クラス、関数、属性、構造体などカテゴリ別にソースコードを把握できる
  • ファイルの関連をグラフィカルに表示してくれる
  • プロジェクト内でのどのファイルから変数やマクロが使われているか表示してくれる

では、「Sourcetrail」のインストール方法をみていきましょう。

ソースコードを見える化するツールSourcetrailのインストール方法

ここでは、「Sourcetrail」をどのようにインストールするかを説明します、具体的なインストール方法は下記の手順で説明します。

  1. インストーラーのダウンロード
  2. インストーラーの実行
  3. インストール場所の確認
  4. ショートカット作成の選択
  5. インストールの開始
  6. インストールの完了

1.インストーラーのダウンロード

下記のGitHubから「Sourcetrail」のインストーラーをダウンロードします。

Sourcetrail · GitHub

「Sourcetrail_2019_4_61_64bit_Installer」を開きます。
(今回は「Sourcetrail_2019_4_61_64bit_Installer」を使用しました。)

2.インストーラーの実行

「Sourcetrail」のインストーラーファイル「Sourcetrail.msi」を開くとインストール開始のダイアログ場所が出てきます。インストールを開始するので、「Next」を押します。

3.インストール場所の確認

インストールする場所の設定画面が出てきます。そのままでOKなので、「Next」を押します。

4.ショートカット作成の選択

ショートカットをデスクトップとスタートメニューに作るかの選択画面が出てきます。私はスタートメニューだけにショートカットを作成しました。

5.インストールの開始

全ての設定が終わったら、「Install」ボタンを押してインストールを開始します。

6.インストールの完了

下記の画面が出ればインストールは完了です。

以上でインストールは完了です。続いて、「Sourcetrail」の使用方法をみていきましょう。

ソースコードを見える化するツールSourcetrailの具体的な使い方

さっそく、「Sourcetrail」を実行してみましょう。ここでは、Sourcetrailの「ツールの起動画面」がどのようなものかを説明します。次に、Sourcetrailには初めからサンプルプロジェクトが用意されていますので、サンプルプロジェクトの「プロジェクトの開始画面」を説明します。最後にSourcetrailを使う目的である「クラスの依存関係の表示」について説明します。

  1. Sourcetrailの起動画面
  2. サンプルプロジェクトの開始
  3. クラス依存関係の表示

1.Sourcetrailの起動画面

下記のようなトップ画面が表示されました。

2.サンプルプロジェクトの開始

「tictactoe_cpp」というサンプルプロジェクトを開いてみると、プロジェクト内のファイルやマクロ、クラス、関数がまとめられた画面が表示されました。

3.クラス依存関係の表示

このグラフでは、次のようなことを読み取ることができます。

  • クラス「HumanPlayer」はクラス「Player」の継承クラスである。
  • クラス「TicTacToe」のメソッド「SelectPlayer」からインスタンスを作成される。
  • クラス「Filed」の属性「Token」を使用している。