Thực hành Tốt nhất về Tổ chức Mã nguồn
Cấu trúc theo Tính năng/Miền (Khuyến nghị)
Nhóm các tệp liên quan đến một khả năng nghiệp vụ cụ thể lại với nhau. Điều này cung cấp ngữ cảnh tốt hơn cho AI và cải thiện sự gắn kết của mã nguồn.
txt
src/
├── features/ # Hoặc domains, modules, bounded contexts
│ ├── users/
│ │ ├── user.controller.js # Xử lý yêu cầu HTTP
│ │ ├── user.service.js # Logic nghiệp vụ
│ │ ├── user.model.js # Mô hình/schema dữ liệu
│ │ ├── user.routes.js # Các route API
│ │ ├── user.dto.ts # Đối tượng Truyền dữ liệu (nếu dùng TS)
│ │ └── user.test.js # Kiểm thử tính năng
│ │
│ ├── products/
│ │ └── ... (các tệp tương tự)
│ │
│ └── orders/
│ └── ... (các tệp tương tự)
│
└── shared/ # Các tiện ích chung, middleware, lớp cơ sở
├── middleware/
├── utils/
└── config/- Tránh: Cấu trúc chủ yếu theo lớp kỹ thuật (
controllers/,services/,models/) vì nó làm phân tán mã nguồn của tính năng.
