Swift向けコードリーディング支援ツール「CSExtractor for Swift」 by Masashi Nishimoto

iOSDC Japan 2021
採択
原稿(4ページ)

Swift向けコードリーディング支援ツール「CSExtractor for Swift」

comlopard Masashi Nishimoto comlopard
5

iOSフレームワークのAPIを使ってアプリをコーディングする際に、どのようにAPIを呼び出すコードを書けばいいのかを悩むことはありませんか?
そんなとき、GitHubなどのリポジトリにあるソースコードを参考にするために、コードリーディングする事でしょう。しかし、コードリーディングは非常に手間や労力のかかる作業です。
そこで、Swiftソースコード内でプログラマが気になるAPI 呼び出しの記述箇所を指定すれば、それ以外に関連がある箇所をハイライトするコードリーディング支援ツール「CSExtractor for Swift」を開発しました。
CSExtractorを使えば、開発者は多くのソースコードから自らが利用したいAPIの実装例を気軽に得ることができることでしょう。

CSExtractorは、ソースコードに対して構文解析を行って得られたデータの依存関係に基づいて、関連のあるステートメント同士を抽出します。
CSExtractorでは、Swiftの構文解析であるSwiftSyntax、WebアプリケーションフレームワークであるVaporなどを使って実装しています。
そして、CSExtractorのデモ用アプリケーションはWeb上で公開されています。

本稿では、CSExtratorの使い方やシステム構成、及びソースコード解析のアルゴリズムなどをご紹介します。
最後に、開発者の皆様が煩わしい作業から解放されてクリエイティブな開発活動ができるように、これからもさまざまな開発支援ツールを提案していきます。