1年前ほど前に観たUberのエンジニアによる"Code Generation"(以後「自動生成」と記す)に関するセッションに影響を受け、みてねのiOS開発でも自動生成(Sourcery + Stencil)を取り入れました。
まずユニットテストを効率良く書けるようにするための「テストデータ」の自動生成というものを行いました。
これが思ったよりもチーム内で受け入れられて、今ではなくてはならないものになりました。
その後、チームの他のメンバーが「DI」まわりで自動生成を用いた素晴らしいアウトプットを出してくれました。
他にもまだまだ自動生成したいものがたくさんあります。
このようにみてねのiOS開発ではチームとして自動生成を絶賛活用中なので、その知見を以下のような項目で話せればと思っています。
実際の活用例(テスト、DI)
実装方法
1年ほど運用してみて(ハマったことや、チーム内における知見の共有など)
自動生成のpros/cons(例えば外部ライブラリを利用するという選択肢との比較)
みてね = 子供の写真や動画を家族内で共有するアプリ