kintoneのAndroidアプリは2019年にリニューアルして以来、技術の進化に伴い様々な変更が必要となりました。とくに問題となっていたのはデータフローの高い複雑性で、新機能の開発を阻害したり、新規加入者の学習負荷を高くしていました。
そこで、私たちのチームはアプリの保守性と再利用性を向上させる大規模なリファクタリングを実施しました。
具体的には、Googleのアプリアーキテクチャに基づきマルチモジュール化を行い、RxをCoroutinesに置き換え、シングルトンインスタンスを削減し、独自ユーティリティクラスの使用を最小限に抑えました。さらに、一部のViewをComposeに移行しました。手動テストと自動テストの使い分け方も見直しました。これらの変更を、段階的に実施しました。
このセッションを通じて、大規模リファクタリングの具体的な進め方、チーム開発のヒントを得ることができます。