こんにちは。コーポレートスタッフの茂木です。
前回に引き続き、MoneyEasyのAndroidアプリ開発を担当している照井さんに、その後、大規模リファクタリングをどのように進めたのか、語っていただきました。
前回は、着手前の状況などについてでしたので、結局どうなったの?問題無かったの?と気にされていた方もいたかもしれませんね。
後編では、リリースまでの感動秘話をお届けします!
どうぞ最後までお付き合いください。
前編はこちら
具体的な進め方
4つのポイント
ポイント1:FatActivityからビジネスロジックを切り離しレイヤー構造にする
このポイント1は5月中旬くらいまでに完了させる予定で行い、ほぼオンスケで完遂できました。
ここでの注意点は「内部ロジックは可能な限り変更を加えない」ことでした。
これをやっている間、凄まじくリファクタリング衝動にかられましたが、無駄になるかもしれないし余計な混乱を招く恐れが高かったため、変数名一つ変えず極力そのままレイヤー分割に徹しました。
ただ、そうはいってもどうしても追加修正しないといけないコードは出てくるので、そういったものは修正しています。
なぜこんな注意点に徹したかという理由ですが、コンパイルエラーやおかしな動作をした時に元コードとの比較が容易になるためです。
たまにおかしな変数がおかしな値を持っていることがあり、そのままにしておくと元コードでの検索が容易になるため何を入れていて何をしていたかの調査が容易でした。
実はSIer時代にこの時とはちょっと違いますが、巨大な機能のリファクタリングしたことがあって、その時の失敗経験をここで活かすことができました。
ポイント2:AAC以外のライブラリ導入
ポイント3:1機能のみKotlin+AAC対応
この最終構成は、『Droidkaigi2019』などで弊社ブースにて配布したポストカードにも載せています。
ポイント4:全機能Kotlin+AAC対応
最後に
照井さん、ありがとうございました!
私も、普段エンジニアの作業内容を知る機会はあまりありませんが、こうやって過程を知ることができて良かったです。
今回もお付き合いいただき、ありがとうございました。
株式会社フィノバレーでは一緒に働く仲間を募集しています!
▼リクルート情報はこちらから▼
https://finnovalley.jp/#secRe