Ubiquitous Language (Ngôn ngữ chung)
Khái niệm của DDD: business và dev dùng CÙNG một ngôn ngữ để mô tả domain. Thời AI, ngôn ngữ đó có thêm một người nghe nữa - model.
Nếu bạn dùng tên mơ hồ, AI sẽ đoán; nếu bạn dùng tên rõ, nó có nhiều cơ hội làm đúng hơn. Đó là lý do Entity Model dùng đúng tên nghiệp vụ (Order, OrderItem, Payment) cho code tốt hơn nhiều so với tên kỹ thuật thuần (tbl_dh_v2).
Thí nghiệm nhỏ với codebase của bạn
Mở 5 file ngẫu nhiên trong src/, đếm hai con số:
- Bao nhiêu file có class/function chính mang tên use case nghiệp vụ:
PlaceOrder,IssueRefund,VerifyKYC. - Bao nhiêu file mang tên kỹ thuật thuần:
OrderService,OrderHandler,OrderManager.
Tỷ lệ càng nghiêng về phía thứ hai, codebase càng xa ngôn ngữ nghiệp vụ, và càng khó để AI làm việc hiệu quả với spec.
Liên quan
- Entity Model - nơi Ubiquitous Language được ghi lại
- Bounded Context - một từ có một nghĩa TRONG một context
- Spec-Driven Development - spec là nơi ngôn ngữ chung được thống nhất