トランクベース開発では、細かいコミットを頻繁にマージし、コードの安定性を高め、コンフリクトを早期に解決することで、迅速なリリースが可能になります。この手法において、未完成機能やバグのある機能をオンオフするためにFeature Flagを利用することが重要です。
Feature Flagを導入することで、開発中のコードを安全にマージし、複数の機能開発を並行して進めることが可能となり、チーム開発を加速させるメリットがあります。しかし、機能のリリース後にFeature Flagの定義や分岐箇所を削除する際、不要なファイルや定義の削除漏れが発生することがあります。
この問題を解決するために、Swift Macroを活用して削除漏れを防ぐための@粉砕アノテーションを作成しました。このアノテーションにより、Feature Flagの定義が削除された際にビルドエラーを発生させることで、削除漏れを防止します。
このトークでは、メタバースプラットフォームclusterでの具体的な事例をもとに、Feature Flagを利用したトランクベース開発の運用方法と、Swift Macroを活用した@粉砕アノテーションによる削除漏れ防止の方法について紹介します。