ฉันได้ทำงานกับแอพ Rails ขนาดใหญ่ซึ่งการใช้งานการเรียกกลับของ ActiveRecord นั้นอาละวาดและบาดใจ การบันทึกมักจะมีผลข้างเคียงที่ไม่คาดคิดและมันเป็นความท้าทายที่จะให้เหตุผลเกี่ยวกับระบบ
ในเวลาเดียวกันฉันเคยเห็น hooks ใช้เพื่อให้เกิดผลดีในฐานะส่วนหนึ่งของการสืบทอด (เช่นคลาสแม่ที่ใช้แม่แบบวิธีการเพื่อให้คลาสย่อยเพิ่มพฤติกรรมพิเศษโดยไม่จำเป็นต้องรู้เกี่ยวกับ internals ของผู้ปกครอง) และปลั๊กอิน (เช่นโหมด emacs ที่เรียกใช้ hook เมื่อเปิดใช้งานช่วยให้ผู้ใช้สามารถเพิ่มพฤติกรรมที่กำหนดเองในโหมดนั้น)
ฉันรู้ว่าแอพพลิเคชั่น Rails และ Lisp เป็นระบบที่แตกต่างกันอย่างมาก แต่ฉันอยากรู้ว่ามีเกณฑ์อะไรที่คนรู้จักกันดีเมื่อตัดสินใจว่า hooks เป็นตัวเลือกที่เหมาะสมสำหรับปัญหาที่พวกเขากำลังเผชิญหรือไม่
ชุดรูปแบบที่กระโดดออกมาที่ฉันคือการคาดการณ์ การใช้ตะขอในทางที่ผิดดูเหมือนว่าจะนำไปสู่การกระทำที่น่ากลัวในระยะไกลและพฤติกรรมที่น่าแปลกใจในขณะที่การใช้งานที่ดีสามารถนำไปสู่กรอบการทำงานที่คาดการณ์ได้โดยไม่ต้องมีเพศสัมพันธ์อย่างแน่นหนา
ในขณะที่ฉันยังไม่กี่ปีในอาชีพการเขียนโปรแกรมของฉันฉันคิดว่าตัวเองเป็น noob ในหลาย ๆ ด้านและสงสัยว่าผู้คนได้ใส่ความคิดที่เป็นธรรมในหัวข้อนี้ แนวทางอะไรบ้างที่สามารถนำการตัดสินใจนี้ไปใช้?