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

ソフトウェアは捨てやすく作ろう/Let's make software easy to dis...

ソフトウェアは捨てやすく作ろう/Let's make software easy to discard

PHPカンファレンス新潟2025のLT登壇資料です。
https://fortee.jp/phpconniigata-2025/proposal/dcb01689-1d20-4f6d-85fe-9ccfb18c62e9

Avatar for Genki Sano

Genki Sano

May 31, 2025
Tweet

More Decks by Genki Sano

Other Decks in Technology

Transcript

  1.  #phpcon_niigata #a 自己紹介 2 佐野 元気 Genki Sano 所属 :

    株式会社カオナビ 職種 : バックエンドエンジニア(PHPer) 役割 : エンジニアリングマネージャー 趣味 : キャンプ、コーヒー、サウナ、ライブ参戦 @sanogemaru
  2.  #phpcon_niigata #a 自己紹介 3 所属 : 株式会社カオナビ 職種 : バックエンドエンジニア(PHPer)

    役割 : エンジニアリングマネージャー 趣味 : キャンプ、コーヒー、サウナ、ライブ参戦 佐野 元気 Genki Sano @sanogemaru 今月2回目の新潟です
  3.  #phpcon_niigata #a 自己紹介 4 所属 : 株式会社カオナビ 職種 : バックエンドエンジニア(PHPer)

    役割 : エンジニアリングマネージャー 趣味 : キャンプ、コーヒー、サウナ、ライブ参戦 佐野 元気 Genki Sano @sanogemaru 今月2回目の新潟です
  4.  #phpcon_niigata #a /app ├─ Feature1 │ ├─ Http │ ├─

    Models │ └─ Services ├─ Feature2 │ ├─ Http │ ├─ Models │ └─ Services ├─ Feature3 │ ├─ Http │ ├─ Models │ └─ Services ... 33 Package by Feature • 機能に基づいたディレクトリ構成
  5.  #phpcon_niigata #a /app ├─ Feature1 │ ├─ Http │ ├─

    Models │ └─ Services ├─ Feature2 │ ├─ Http │ ├─ Models │ └─ Services ├─ Feature3 │ ├─ Http │ ├─ Models │ └─ Services ... 34 Package by Feature • 機能に基づいたディレクトリ構成 • 凝集度が高くなりやすい ◦ 機能的に関連性の高いコードが同じ ディレクトリに集まる
  6.  #phpcon_niigata #a /app ├─ Feature1 │ ├─ Http │ ├─

    Models │ └─ Services ├─ Feature2 │ ├─ Http │ ├─ Models │ └─ Services ├─ Feature3 │ ├─ Http │ ├─ Models │ └─ Services ... 35 Package by Feature • 機能に基づいたディレクトリ構成 • 凝集度が高くなりやすい ◦ 機能的に関連性の高いコードが同じ ディレクトリに集まる • 結合度が低く保ちやすい ◦ 機能間のインターフェースを明確にす れば、機能間の疎結合を促進しやすい
  7.  #phpcon_niigata #a /app ├─ Feature1 │ ├─ Http │ ├─

    Models │ └─ Services ├─ Feature2 │ ├─ Http │ ├─ Models │ └─ Services ├─ Feature3 │ ├─ Http │ ├─ Models │ └─ Services ... 36 Package by Feature • 機能に基づいたディレクトリ構成 • 凝集度が高くなりやすい ◦ 機能的に関連性の高いコードが同じ ディレクトリに集まる • 結合度が低く保ちやすい ◦ 機能間のインターフェースを明確にす れば、機能間の疎結合を促進しやすい • 中〜大規模なプロジェクトに向く
  8.  #phpcon_niigata #a 44 参考・出典 • ソフトウェアは捨てやすく作ろう - @sanogemaru • 不要コード削除のススメ

    - @naopusyu • Package by Layer vs Package by Feature - Sahibinden Technology • ソフトウェア開発って なにか?を学ぶ勉強会 - Yasunobu Kawaguchi • コード品質はやはりビジネスに影響を与える - mtx2s’s blog