概要
新しい現場に参画する時、歴が浅いメンバー等は「どこからキャチアップして良いのか?」と疑問に思うメンバーがいると思います。
こういったメンバーにもなるべく早いキャチアップをしてもらう必要があると考えたため、新しい現場で以下が分かる簡単な資料を作成しました。
資料から分かるようにした内容↓
・ソースコードキャチアップの流れが分かる
・アーキテクチャを理解できる
・API接続からUI反映までの流れが理解できる
特にAPI接続からUI反映までの流れがわかってしまえば最低限のキャッチアップはできると考えたため、そこの内容を重点的に作成しました。
下記に、その当時作成した資料を展開。
当時の資料
以下から当時の資料(クラス名やパス名等は省略しております。)↓↓↓
- 
Androidキャッチアップ観点
- 
言語は何か?
- kotlin
 
- 
UIは何を使用しているか?
- Android view
- Jetpack Composeは未使用
 
- 
アプリ初回起動時の処理、最初の画面はどこか?
- 初回起動: 〇〇Application
- SDK関連の設定等を行なっている
- Applicationクラスを継承
 
- 最初の画面:〇〇Activity
 
- 初回起動: 〇〇Application
- 
アーキテクチャは何を使用しているか?
- Google推奨アーキテクチャ × MVVM
- Dataレイヤー:通信等のデータのやりとりを行うレイヤー
- Domainレイヤー:ビジネスロジックを担当しているレイヤー
- Presentationレイヤー:UIを担当しているレイヤー
 
- アーキテクチャ分解
- 
どこで画面表示をしているか?
- presentationディレクトリ
- Activity, Fragment
 
 
- presentationディレクトリ
- 
どこでUIロジックを処理してるか?
- presentationディレクトリ
- viewModel
 
 
- presentationディレクトリ
- 
どこにビジネスロジックがあるか?
- domainディレクトリ
- usecase
 
 
- domainディレクトリ
- 
どこでAPI連携を行なっているか?
- dataディレクトリ
- APIロジック呼び出し箇所:〇〇.kt
- API接続:〇〇.kt
- Retrofit使用
 
 
 
- dataディレクトリ
 
- 
どこで画面表示をしているか?
- 
分解したアーキテクチャは、今の現場だとどこのディレクトリになるか?
- 画面表示
- ディレクトリ記載
 
- UIロジック処理
- ディレクトリ記載
 
- ビジネスロジック
- ディレクトリ記載
 
- API連携
- ディレクトリ記載
 
 
- 画面表示
- 
DIは、何のライブラリを使用しているか?
- hilt
 
 
- Google推奨アーキテクチャ × MVVM
 
- 
言語は何か?
API接続図
下記では、API接続図を展開
まとめ
まだまだ、改善の必要がある内容ですが、新しく参画したメンバーから「キャッチアップはスムーズにできた」とお声がけもいただいたので、無いよりはあったほうが良いなと思いました。

