Core Code là gì

Core code (code lõi) là phần code chứa logic nghiệp vụ thuần túy của ứng dụng - các quy tắc, thao tác và xử lý phản ánh đúng mô hình hoạt động của lĩnh vực (domain) mà ứng dụng phục vụ.

🧪 Bài test nhanh: Nếu bạn lấy một đoạn code, đưa vào một script PHP độc lập và chạy thành công chỉ với bộ nhớ + CPU (không cần DB, network, file, framework), thì đó rất có thể là core code.

📏 Hai quy tắc định nghĩa Core Code

  1. Không phụ thuộc trực tiếp vào hệ thống bên ngoài. Core code không gọi trực tiếp cơ sở dữ liệu, remote API, file system, system clock, thư viện gửi email… Nó có thể dùng abstraction (interface), miễn là interface đó không tiết lộ chi tiết về hệ thống ngoài cụ thể.
  2. Không cần môi trường/hệ sinh thái đặc biệt để chạy. Không giả định đang chạy trong web request, không dùng $_POST, biến global của framework, Session… Nếu phải khởi động container Laravel hay set biến môi trường đặc biệt mới chạy được thì chưa phải core code thuần túy.

Vi phạm bất kỳ quy tắc nào → đoạn code đó là Infrastructure Code là gì.

✅ Ví dụ về Core Code

  • Hàm tính thuế VAT từ giá sản phẩm: chỉ nhận số, tính và trả kết quả.
  • Phương thức domain $order->calculateTotalAmount() chỉ dùng thuộc tính sẵn có của $order.
  • OrderService->placeOrder() nếu chỉ thao tác trên domain model và gọi qua interface (PaymentGatewayInterface, OrderRepositoryInterface) mà không chạm DB/request.

💡 Vì sao Core Code quý giá

  • Dễ kiểm thử (testability): chạy hoàn toàn trong bộ nhớ → unit test không cần DB, internet, file. Đây là lợi ích lớn nhất.
  • Di động (portability): một module tính thuần (vd tính phí vận chuyển) có thể tái sử dụng ở web app, console app, script nhỏ chỉ bằng cách import - vì nó không kéo theo phụ thuộc hạ tầng.

Liên quan