> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kientructnt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Package

> Để hệ thống load các package con một cách chủ động, dễ quản lý, kiểm tra và cập nhật, bạn có thể thực hiện một số thay đổi và chuẩn hóa như sau:

# 1. Chuẩn Hóa Tên File Loader Mỗi Package

Sử dụng tên file loader duy nhất và có ý nghĩa cho mỗi thư mục package. Hiện tại, mã 010:SYS:TRY-LOAD-PACKAGE đang tìm các file bắt đầu bằng A\_010\_System\_Package (không phân biệt hoa thường) trong từng thư mục con. Bạn có thể lợi dụng cơ chế wildcard có sẵn để đặt tên file loader cho dễ nhận biết:

* Ví dụ:
  * Thư mục 02\_SETTINGS chứa file loader đặt tên A\_010\_System\_Package\_Settings.lsp
  * Thư mục 04\_PACKAGE\_01\_CREATE chứa file loader A\_010\_System\_Package\_01\_Create.lsp
  * Tương tự, 05\_PACKAGE\_02\_GENERAL chứa A\_010\_System\_Package\_02\_General.lsp, v.v.

Lợi ích:

* Tên file loader chứa luôn tên hoặc số thứ tự module giúp dễ dàng nhận biết module nào đã được load (thay vì tất cả đều tên giống nhau).
* Log hiển thị từ hàm 010:SYS:LOG sẽ rõ ràng hơn: bạn sẽ thấy đường dẫn đầy đủ của file loader được load, bao gồm tên file mô tả package đó, giúp kiểm tra nhanh package nào đã được nạp.

Lưu ý:

* Mỗi thư mục package chỉ nên có *một* file loader khớp với mẫu A\_010\_System\_Package\_\*.lsp. Nếu có nhiều file khớp, hàm hiện tại chỉ load file đầu tiên theo thứ tự abc (sau khi acad\_strlsort). Để tránh nhầm lẫn, hãy duy trì một loader duy nhất.

Trường hợp bạn cần chia nhỏ code trong một package thành nhiều file, hãy để một file loader chính (theo mẫu trên) và trong file đó load các file phụ khác. Như vậy, hệ thống vẫn chỉ tìm một loader per folder, nhưng loader đó có thể tự nạp thêm module con nếu cần.
