• ปัญหาของ Jinja template แบบเดิม

→ เมื่อค่อย ๆ เพิ่มฟีเจอร์ต่าง ๆ เข้าไปในเทมเพลตตามความต้องการ ปริมาณข้อมูลที่จำเป็นสำหรับการเรนเดอร์เทมเพลตก็จะมากขึ้น และหลายฟังก์ชันก็จะปะปนกันอยู่ในไฟล์เทมเพลตเดียว สรุปคือมันจะกลายเป็น Jinja template แบบ legacy ที่เติบโตอย่างไร้ทิศทาง

  • จะจัดการ Jinja template ให้ดีขึ้นได้อย่างไร?

→ แยกออกด้วยการใช้ Macro โดยคำนึงถึงความเป็นเอกภาพของโค้ด

→ แทนที่จะใส่ข้อมูลทั้งหมดที่ใช้ตอนเรนเดอร์ลงใน dict ก็ใช้ dataclass เพื่อจัดกลุ่มข้อมูลที่แต่ละแมโครใช้งาน

  • เหมือนจะไม่มีเนื้อหาเกี่ยวกับการทดสอบเลยไม่ใช่เหรอ?

→ ในตอนถัดไป ตอนที่ 2 จะพูดถึงการตรวจสอบว่ามีตัวแปรที่ตกหล่นหรือไม่ ผ่านการวิเคราะห์ Jinja AST

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น