Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アプリアーキテクチャを明文化しチームの開発効率をアップ

akkiee76
October 30, 2022

 アプリアーキテクチャを明文化しチームの開発効率をアップ

「potatotips #79 iOS/Android 開発 Tips 共有会」で登壇した資料になります。

akkiee76

October 30, 2022
Tweet

More Decks by akkiee76

Other Decks in Technology

Transcript

  1. potatotips #79 ©2022 RAKUS Co., Ltd. アプリアーキテクチャを明文化して チームの開発効率をアップ Android アーキテクチャを

    明文化して臨んだ新規開発を振り返る @akkiee76 potatotips #79 iOS/Android 開発 Tips 共有会
  2. potatotips #79 Akihiko Sato / 株式会社ラクス Lead Engineer / @akkiee76

    SaaS 開発 (Backend, Frontend) / Mobile 開発 (iOS, Android) 上流工程、コードレビュー、チームの課題改善など 読書 / コーヒー / HHKB / 腹筋ローラー・体幹トレーニング 自己紹介
  3. potatotips #79 背景 楽楽精算では、現在 Kotlin 版と Cordova 版の 2つの Android

    アプリをリリースしています。 これまで Kotlin 版では、最新の Android バージョンに追従してきました が、Cordova 版では FW の対応の遅れにより、 タイムリーな対応が難しい状況でした。
  4. potatotips #79 3. 基本クラスに各ルールを明文化 ・Activity ・Fragment ・ViewModel ・UseCase ・Repository ・責務

    ・命名規則 ・ルール(制約) ・実装例 ・テストで確認すること ・テスト実装例 明文化 明文化した各ルールを適用したサンプルプロジェクトも用意
  5. potatotips #79 実践してよかったこと • チームの技術力が向上 ◦ オブジェクト指向の成長 • 設計の議論をすることが少なく、開発に注力できた ◦

    チームの生産性が高まった (見積に対しての実績) • クラスの責務を小さくしたため、テストが描きやすかった ◦ テスト品質の担保
  6. potatotips #79 技術的課題イメージ NetworkError は Presentation Layer に配置されているが、 ・ Data

    Layer から throw ・ Presentation Layer で catch されるため各層から参照されることに。 このように層を跨いで参照されるクラスが存在している。