SwiftSyntaxでSwiftコードを生成する仕組みを作って自動化してみた話 by 瀬尾 敦生

iOSDC Japan 2024
ルーキーズLT(5分)

SwiftSyntaxでSwiftコードを生成する仕組みを作って自動化してみた話

atsuki_seo 瀬尾 敦生 atsuki_seo
1

仕様書とソースコードの乖離が起きるのが嫌だが、定期的に仕様書とソースコードを見比べるという作業も嫌な僕が、仕様書からSwiftのソースコードを自動生成する仕組みがないかなと思って調べた記録を発表します。

Swiftコードを自動生成する成果物は作れたので、その内容を元に以下について発表します。

  • SwiftSyntaxを使ってSwiftのソースコードを自動生成する仕組みを作り、それをiOSのプロジェクトに組み込む方法
    • 自動生成するソースコードの例は @objc、protocol、変数を含んだクラスの自動生成です
    • SwiftSyntaxつらみポイントの解説(浅め)
  • 自動生成の仕組みに関してメリット・デメリットや業務に組み込めるかどうかについても考察する
    • SwiftSyntax は 最強魔法のツールになりえるのかどうか。
  • ソースコード自動生成の仕組みをチームで運用するのは一旦諦めた話

SwiftSyntaxはSwift言語のアップデートと共に割と大きめのアップデートもガシガシやってる仕組みです。
僕の苦しみから他の人の開発効率化案、もっと良いコードが生まれることを願って、発表します。