LoginSignup
74
82

More than 3 years have passed since last update.

Sourcetrail(Linux)で大きなPythonプロジェクト(Django)を開いてみたら世界が変わった

Last updated at Posted at 2019-11-22

Sourcetrailなるツールが公開されたようで、面白そうなので触ってみました。
すでに触ってらっしゃる記事がありましたが、そこはご愛嬌で。
Ubuntuです。

使ったことがあって、ぱっと思いつく大きなリポジトリがDjangoだったので、Python, Djangoの組み合わせで試してみます。

SourceTtrailをインストール

Sourcetrail(GitHub)のリリースページからダウンロードできます。
64bit版Linuxのtarファイルをダウンロード

その後tar -xzf Sourcetrail_2019_4_61_Linux_64bit.tar.gz -C path/で任意の場所に解凍。
バージョン名は適宜。

回答したSourcetrailディレクトリに入り、root権限でinstall.shを実行すればインストール完了です。

とりあえず開く

こんな感じの画面が出てきます。

Screenshot from 2019-11-22 19-28-58.png

Djangoをプロジェクトとして開く

New Projectすると、以下の画面になるので普通に選択します。

Screenshot from 2019-11-22 19-32-16.png

Source Group Typesを選ぶ

Screenshot from 2019-11-22 19-36-01.png

Pythonは一つしかないからこれを選びましょう。
Pythonサポートはbeta phaseらしいので注意。

環境設定

Screenshot from 2019-11-22 19-37-32.png

DefaultのPythonは人によって色々違うので、適宜指定。

Files & Directories to index(indexするファイルとディレクトリ)で、django/django/、あるいは中身を確認したいディレクトリを指定しましょう。

次の画面を確認したらCreateしてみましょう。

indexing

Screenshot from 2019-11-22 20-00-36.png

こんな感じの画面が出てきたら次のステップです。
うまいことインデックスしてくれているようです。

830Filesもあるので時間がかかります。(私の環境だと40分くらいかかりました)
大規模開発でコードリーティングの手間を軽減するのが目的の一つらしいので、Djangoくらい大きいリポジトリでちゃんと使えるか見ておきたいところです。

Screenshot from 2019-11-22 20-39-31.png

この画面が出たら完了!
65件のエラー詳細は見てません……

使ってみる!

Screenshot from 2019-11-22 20-41-22.png

このように一覧で出てきます。

適当なClass(HttpResponse)を開くと関係が一覧で表示されます。
右側には該当するコード。

Screenshot from 2019-11-22 21-00-04.png

この状態で、適当なFunction(HttpResponse内に表示されているserialize)を開くと、

Screenshot from 2019-11-22 21-07-03.png

このような感じで開きます。
右側には、定義箇所と呼び出し箇所が表示されているようです。(ちゃんとdefが一番上)

触ってみて

これはコードリーディングがはかどりますね。
現在の対応言語は、C, C++, Java, Pythonだけですが、この言語を使用している方なら一度使ってみると良いと思います。

74
82
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
74
82