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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for ko2ic ko2ic
August 01, 2022

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

Avatar for ko2ic

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 | どうやる?