คิดเกี่ยวกับปัญหาในมือก่อนและสำคัญที่สุด หากคุณนำหลักการของ YAGNI หรือ SOLID ไปใช้อย่างเงียบ ๆ คุณสามารถทำร้ายตัวเองได้ในภายหลัง สิ่งที่ฉันหวังว่าเราทุกคนจะเข้าใจคือไม่มีวิธีการออกแบบ "หนึ่ง" ที่เหมาะกับปัญหาทั้งหมด คุณสามารถเห็นหลักฐานว่าเมื่อร้านขายหมวกที่โฆษณาว่า "ขนาดเดียวเหมาะกับทุกคน" แต่มันไม่พอดีกับหัวของคุณ ไม่ว่าจะใหญ่หรือเล็กเกินไป
แทนที่จะเป็นการดีกว่าที่จะเข้าใจหลักการและปัญหาที่ SOLID พยายามแก้ไข เช่นเดียวกับหลักการและปัญหาที่ YAGNI พยายามแก้ไข คุณจะพบว่าหนึ่งเกี่ยวข้องกับสถาปัตยกรรมของใบสมัครของคุณและอื่น ๆ ที่เกี่ยวข้องกับกระบวนการพัฒนาโดยรวม ในขณะที่อาจมีการทับซ้อนกันในบางกรณีพวกเขามีปัญหาที่แตกต่างกันอย่างชัดเจน
YAGNI (คุณไม่ต้องการมัน [ตัวย่อที่แปลกตาของอเมริกา]) เกี่ยวข้องกับการประหยัดเวลาของนักพัฒนาเพิ่มฐานรากคอนกรีต inforced ใหม่ไปยังสะพานที่มีวัตถุประสงค์เพื่อขยายลำห้วยกว้าง 3 ฟุตเท่านั้นเมื่อสะพานไม้ที่เรียบง่ายจะทำเพียง ละเอียด. หากเราทอดข้ามแม่น้ำกว้างหนึ่งไมล์และต้องการสนับสนุนรถเทรลเลอร์รถแทรกเตอร์หลายคันแน่นอนว่าเราจะต้องมีงานฐานรากที่พิเศษ ในสาระสำคัญ YAGNI จะบอกให้คุณดูภาพที่ใหญ่ขึ้นและการออกแบบสำหรับความต้องการในปัจจุบัน มันคือการจัดการปัญหาในการทำสิ่งที่ซับซ้อนเกินไปเพราะเราคาดการณ์ความต้องการที่เป็นไปได้จำนวนมากที่ลูกค้ายังไม่ได้ระบุ
SOLID เกี่ยวข้องกับวิธีที่เราตรวจสอบให้แน่ใจว่าชิ้นส่วนของสะพานประกอบเข้าด้วยกันอย่างเหมาะสมและสามารถรักษาได้ตลอดเวลา คุณสามารถนำหลักการ SOLID ไปใช้กับสะพานไม้เช่นเดียวกับสะพานคอนกรีตที่มีการบดซ้ำอีกครั้ง
ในระยะสั้นแนวคิดทั้งสองนี้ไม่จำเป็นต้องขัดแย้งกัน เมื่อคุณเจอสถานการณ์ที่คุณเชื่อว่าพวกเขาเป็นเวลาที่จะดูภาพรวม ขึ้นอยู่กับข้อสรุปของคุณคุณอาจตัดสินใจที่จะทำบางส่วนของหลักการ SOLID หรือคุณอาจตัดสินใจว่าคุณต้องการมันจริงๆ
SOLID principle vs YAGNI
?