Chuyên sâu
⏱ 30 phút
13
Làm việc với Codebase Lớn
Chiến lược hiệu quả khi dùng Claude Code trong project hàng trăm nghìn dòng code
🎯 Mục tiêu bài học
- ✓ Điều hướng codebase lớn mà không tốn hết context
- ✓ Dùng sub-agents và worktrees cho refactor lớn
- ✓ Thiết kế CLAUDE.md tối ưu cho monorepo
- ✓ Quản lý chi phí khi làm việc với project lớn
Thách thức với codebase lớn
Khi project có hàng trăm file, Claude Code không thể đọc tất cả vào context cùng lúc. Chiến lược quan trọng nhất: scope rõ ràng từ đầu.
Chiến lược 1: Scope cụ thể
Thay vì "sửa authentication", hãy nói:
> Trong thu muc src/auth/, sua logic refresh token o file
jwt.service.ts. Chi doc cac file trong thu muc nay.
> Refactor module payment/ theo pattern cua module order/
da duoc refactor. Bat dau bang payment.service.ts.
Chiến lược 2: Research trước, sửa sau
> Truoc khi sua bat cu gi, hay dung mot sub-agent
de tim tat ca noi goi ham processPayment() trong codebase.
Chi bao cao ket qua, dung sua gi ca.
> Tim tat ca cac API endpoints khong co rate limiting.
Liet ke file va line number.
Chiến lược 3: Sub-agents song song theo module
> Project co 5 microservices: user, product, order, payment, notification.
Them request logging middleware cho tat ca 5 services cung luc.
Dung sub-agent rieng cho tung service, chay song song.
Chiến lược 4: CLAUDE.md phân cấp cho monorepo
monorepo/
├── CLAUDE.md # Tong quan: tools, conventions chung
├── packages/
│ ├── api/
│ │ └── CLAUDE.md # Stack rieng cua API service
│ ├── web/
│ │ └── CLAUDE.md # React patterns, component structure
│ └── mobile/
│ └── CLAUDE.md # React Native, navigation patterns
Chiến lược 5: Git worktrees cho refactor lớn
> Tao worktree rieng de refactor toan bo module auth
sang TypeScript strict mode. Lam trong isolation,
khong anh huong nhanh main toi dang lam viec.
Quản lý context
# Sau moi task lon, compact de giai phong context
> /compact
# Kiem tra chi phi
> /cost
💡 Nguyên tắc "Tell, don't show"
Với codebase lớn, đừng để Claude Code tự khám phá. Chỉ đường rõ ràng: "File X, function Y, chỉ liên quan đến module Z". Tiết kiệm context và cho kết quả tốt hơn nhiều.