- Thư viện được đề xuất nhằm hợp nhất thành một tiêu chuẩn duy nhất các chú thích đặc biệt (action comment) mà hệ sinh thái Python như lint, formatter, type checker và công cụ coverage sử dụng
- Mục tiêu là giải quyết sự hỗn loạn của cú pháp chú thích vốn đã thành thông lệ trên thực tế nhưng không có tiêu chuẩn, như
# noqa, # fmt: off, # type: ignore
- Định nghĩa ngôn ngữ chú thích nhẹ (metacode) sử dụng một tập con của cú pháp Python
- Tách bạch rõ ràng công cụ, hành động và tham số theo dạng
key: action[arguments]
- Hỗ trợ cấu trúc để nhiều chú thích cho nhiều công cụ có thể cùng tồn tại an toàn trên một dòng mã
- Có thể xử lý các tổ hợp như
# type: ignore # fmt: off
- Cung cấp trình phân tích cú pháp chính thức (parse) cho việc phân tích chú thích, loại bỏ logic phân tích chuỗi và regex mà trước đây mỗi công cụ tự triển khai
- Hỗ trợ các kiểu tham số như chuỗi, số, bool, None, ellipsis, và khi cần có thể mở rộng phân tích dựa trên AST
- Có thể chỉ phân tích chọn lọc một số key nhất định nên phù hợp để tách xử lý chú thích theo từng công cụ
- Cung cấp API insert để tự động tạo và chèn chú thích
- Bản thân cú pháp được đặc tả dưới dạng EBNF để không bị phụ thuộc vào Python, nên cũng có thể triển khai cho ngôn ngữ khác
Chưa có bình luận nào.