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

段階的な技術的負債の解消方法.pdf

ko2ic
August 01, 2022

 段階的な技術的負債の解消方法.pdf

ko2ic

August 01, 2022
Tweet

More Decks by ko2ic

Other Decks in Programming

Transcript

  1. 4

  2. 8 無鉄砲 慎重 意 図 的 無 意 識 設計する時間がないん

    だからしょうがない レイヤー化?なにそ れ? 今すぐリリースしないと いけない。あとでどうに かしよう もっとこうすべきだった なぁ 技術的負債の4象限 by マーチンファウラー https://martinfowler.com/bliki/TechnicalDebtQuadrant.html 01 | 技術的負債ってなんで起きるんだっけ?
  3. 22 無鉄砲 慎重 意 図 的 無 意 識 設計する時間がないん

    だからしょうがない レイヤー化?なにそ れ? 今すぐリリースしないと いけない。あとでどうに かしよう もっとこうすべきだった なぁ 技術的負債の4象限 by マーチンファウラー https://martinfowler.com/bliki/TechnicalDebtQuadrant.html 03 | 誰が判断する?
  4. 27 見える 見えない ポ ジ テ ィ ブ ネ ガ

    テ ィ ブ 新機能 バグ アーキテクチャ 技術的負債 バックログの4象限 by フィリップ・クルーシュテン https://philippe.kruchten.com/2013/12/11/the-missing-value-of-softw are-architecture/ 04 | どうやる?
  5. 28 見える 見えない ポ ジ テ ィ ブ ネ ガ

    テ ィ ブ 新機能 バグ アーキテクチャ 技術的負債 バックログの4象限 by フィリップ・クルーシュテン https://philippe.kruchten.com/2013/12/11/the-missing-value-of-softw are-architecture/ 04 | どうやる?
  6. 32 • ポイントは古いコードはすべて legacyに突っ込むこと(できない場合はappモジュール) • ui -> UIに関連する全て。Activity,Fragment,ViewModel。ViewModelは全くViewに依存させない • infrastructures

    -> 永続レイヤー。HttpやDBにアクセスする • domains -> ビジネスロジック, ValueObject, EntityなどDDDの考えを取り入れた • 明確な役割のあるレイヤーで分割することで依存させるライブラリを変える • コンパイラーに任せる 04 | どうやる?
  7. 1. SharedPreference / Realm / Roomなどは全てInfrastruturesのDaoに移動する。 2. Daoはinternalにし、外部からはRepository経由でしかアクセスできないようにする 3. HttpClientも外部からはRepository経由でしかアクセスできないようにする

    4. キャッシュ機構はRepositoryに持たせる 5. 全ての戻り値はFlowにする 6. 扱う側は、キャッシュなのかAPIなのかはわからないが同じインターフェイスでアクセスす るだけ 方法 04 | どうやる?