คุณคิดยังไงกับเรื่องนี้?
Metaprogramming นั้นส่วนใหญ่จะเกี่ยวข้องกับภาษาที่ไม่ใช่แบบไดนามิกเนื่องจากมีช่วงเวลาที่ยากลำบากในการบรรลุพฤติกรรมบางอย่าง (เช่นการนำ ORM) ไปใช้โดยไม่ต้องมีโค้ดที่ไม่มีประสิทธิภาพและไม่ฉลาด
แต่ถึงแม้จะมีภาษาแบบไดนามิกมากขึ้นเช่น PHP การสร้างโค้ดสามารถช่วยชีวิตได้จริงและเพิ่มผลผลิตในปริมาณมหาศาล ในกรอบสมัยใหม่มันเป็นเรื่องธรรมดามากที่จะมีนั่งร้านที่สร้างโมเดลรูปแบบการทดสอบและการกระทำส่วนใหญ่สำหรับวัตถุทางธุรกิจบางอย่างที่คุณประกาศ เป็นหนึ่งในเหตุผลที่กรอบงานเช่น symfony หรือ RoR ประสบความสำเร็จอย่างมากเครื่องมือสร้างโค้ดเหล่านั้นทำให้โค้ดสอดคล้องกันอย่างรวดเร็วและเพิ่มประสิทธิภาพการทำงานของโปรแกรมเมอร์
ในเว็บไซต์การโต้ตอบส่วนใหญ่หมุนรอบสี่การกระทำหลัก:
- สร้างองค์ประกอบ
- ดึงชุดขององค์ประกอบ (ที่มีตัวกรองที่เป็นไปได้)
- อัปเดตองค์ประกอบด้วยแอตทริบิวต์ใหม่
- ลบชุดองค์ประกอบ
อย่างน้อยทุกอย่างที่หมุนรอบการกระทำหลัก 4 อย่างนี้และ IMHO ควรทำได้โดยใช้เครื่องมือการสร้างรหัสเพื่อให้ได้ผลผลิตสูงสุด
ใน บริษัท ของฉันเราใช้ symfony และผู้ดูแลระบบตัวสร้างเป็นเครื่องมือที่ยอดเยี่ยมที่แม้แต่สร้างรหัสในเวลาทำงาน (และแคช) ซึ่งหมายความว่าเราไม่จำเป็นต้องใช้งานหรือเครื่องมือภายนอกใด ๆ สร้างรหัสใหม่เราแค่ต้องล้างแคชของเรา ฉันแนะนำให้ใช้เครื่องมือชนิดนี้สำหรับการดำเนินงาน CRUD อย่างจริงจัง
แต่การทำในสิ่งที่ผู้ร่วมให้ยอดเยี่ยม symfony ทำได้นั้นไม่ใช่เรื่องง่าย ฉันได้ใช้งานการสร้างรหัสด้วยตัวเองและทำสิ่งที่สอดคล้องกันอย่างแท้จริงและด้วยการนำไปใช้อย่างกว้างขวางเพื่อครอบคลุมกรณีส่วนใหญ่ไม่ใช่เรื่องง่าย
เป็นสิ่งที่จะเพิ่มประสิทธิภาพการทำงานของคุณหรือไม่
ฉันเชื่อว่า metaprogramming มีความสำคัญมากในระดับต่ำกว่าของงาน (กรอบ, แคช, คอมไพเลอร์, ฯลฯ ) แต่สิ่งที่เราต้องเข้าหาด้วยความระมัดระวังมากถ้าเราทำสิ่งต่าง ๆ ในชั้นธุรกิจ
การใช้การสร้างรหัสไม่ต้องสงสัยเลยว่าอุปกรณ์ช่วยเพิ่มประสิทธิภาพการทำงานที่สำคัญ การใช้เครื่องมือสร้างรหัสของคุณเองไม่มากนักเว้นแต่คุณจะสร้างกรอบงานด้วยตัวเอง
มีแหล่งข้อมูลที่ดีในเรื่องอะไรบ้างในหนังสือบล็อกบล๊อคสไลด์ ฯลฯ
ทรัพยากรที่ดีที่สุดที่จะเข้าใจการเขียนโปรแกรมมักจะเป็นซอร์สโค้ดที่ดีและมีความคิดเห็นดี ฉันจะบอกว่าการมองหาเครื่องกำเนิดไฟฟ้าRubyOnRailsและSymfonyเป็นความคิดที่ดี