コード構成のベストプラクティス
機能/ドメインによる構造化(推奨)
特定のビジネス機能に関連するファイルをまとめます。これにより、AIにより良いコンテキストが提供され、コードの凝集性が向上します。
txt
src/
├── features/ # または domains, modules, bounded contexts
│ ├── users/
│ │ ├── user.controller.js # HTTPリクエストの処理
│ │ ├── user.service.js # ビジネスロジック
│ │ ├── user.model.js # データモデル/スキーマ
│ │ ├── user.routes.js # APIルート
│ │ ├── user.dto.ts # データ転送オブジェクト(TS使用時)
│ │ └── user.test.js # 機能テスト
│ │
│ ├── products/
│ │ └── ... (同様のファイル)
│ │
│ └── orders/
│ └── ... (同様のファイル)
│
└── shared/ # 共通ユーティリティ、ミドルウェア、基本クラス
├── middleware/
├── utils/
└── config/- 避けるべきこと: 主に技術レイヤー(
controllers/,services/,models/)による構造化は、機能のコードを分散させてしまうため避けます。
