metacode - ภาษาคอมเมนต์เชิงประกาศและตัวแยกวิเคราะห์เพื่อทำให้ action comment เป็นมาตรฐาน
(github.com/pomponchik)- ไลบรารีที่ถูกเสนอขึ้นเพื่อ รวม special comment (action comment) ที่เครื่องมือ lint, formatter, type checker และ coverage ใน ecosystem ของ Python ใช้งาน ให้เป็นมาตรฐานเดียวกัน
- มีเป้าหมายเพื่อแก้ปัญหา ความสับสนของไวยากรณ์คอมเมนต์ที่เป็นธรรมเนียมปฏิบัติโดยพฤตินัย แต่ไม่มีมาตรฐาน อย่าง
# noqa,# fmt: off,# type: ignore - กำหนด ภาษาคอมเมนต์ขนาดเบา (metacode) ที่ใช้ส่วนย่อยของไวยากรณ์ Python
- แยกเครื่องมือ การทำงาน และอาร์กิวเมนต์อย่างชัดเจนในรูปแบบ
key: action[arguments]
- แยกเครื่องมือ การทำงาน และอาร์กิวเมนต์อย่างชัดเจนในรูปแบบ
- รองรับโครงสร้างที่ทำให้ คอมเมนต์สำหรับหลายเครื่องมืออยู่ร่วมกันได้อย่างปลอดภัย บนโค้ดบรรทัดเดียว
- สามารถจัดการชุดผสมอย่าง
# type: ignore # fmt: offได้
- สามารถจัดการชุดผสมอย่าง
- มี parser อย่างเป็นทางการ (parse) สำหรับแยกวิเคราะห์คอมเมนต์ ช่วยลบตรรกะการพาร์สด้วยสตริงและ regex ที่แต่ละเครื่องมือเคยต้องทำกันเอง
- รองรับชนิดอาร์กิวเมนต์เป็นสตริง ตัวเลข bool, None, ellipsis เป็นต้น และหากจำเป็นก็สามารถ ขยายการพาร์สแบบอิง AST ได้
- สามารถเลือกพาร์สเฉพาะ key ที่ต้องการได้ จึงเหมาะกับ การแยกจัดการคอมเมนต์ตามเครื่องมือ
- มี insert API สำหรับสร้างและแทรกคอมเมนต์โดยอัตโนมัติ
- ตัวไวยากรณ์เองถูก ระบุสเปกในรูปแบบ EBNF เพื่อไม่ให้ผูกกับ Python โดยเฉพาะ และสามารถนำไปทำ implementation ในภาษาอื่นได้
ยังไม่มีความคิดเห็น