การรีแฟกเตอร์และทดสอบ Jinja template อย่างมีประสิทธิภาพ - ตอนที่ 1
(engineering.ab180.co)- ปัญหาของ Jinja template แบบเดิม
→ เมื่อค่อย ๆ เพิ่มฟีเจอร์ต่าง ๆ เข้าไปในเทมเพลตตามความต้องการ ปริมาณข้อมูลที่จำเป็นสำหรับการเรนเดอร์เทมเพลตก็จะมากขึ้น และหลายฟังก์ชันก็จะปะปนกันอยู่ในไฟล์เทมเพลตเดียว สรุปคือมันจะกลายเป็น Jinja template แบบ legacy ที่เติบโตอย่างไร้ทิศทาง
- จะจัดการ Jinja template ให้ดีขึ้นได้อย่างไร?
→ แยกออกด้วยการใช้ Macro โดยคำนึงถึงความเป็นเอกภาพของโค้ด
→ แทนที่จะใส่ข้อมูลทั้งหมดที่ใช้ตอนเรนเดอร์ลงใน dict ก็ใช้ dataclass เพื่อจัดกลุ่มข้อมูลที่แต่ละแมโครใช้งาน
- เหมือนจะไม่มีเนื้อหาเกี่ยวกับการทดสอบเลยไม่ใช่เหรอ?
→ ในตอนถัดไป ตอนที่ 2 จะพูดถึงการตรวจสอบว่ามีตัวแปรที่ตกหล่นหรือไม่ ผ่านการวิเคราะห์ Jinja AST
ยังไม่มีความคิดเห็น