สองเซ็นต์ของฉันสำหรับคำถามดังกล่าวและเก่า
บางคนพูดถึงแล้วฝึกและปรับโครงสร้างใหม่ ฉันเชื่อว่าคำสั่งที่ถูกต้องในการเรียนรู้เกี่ยวกับรูปแบบคือ:
- เรียนรู้การพัฒนาแบบทดสอบขับเคลื่อน (TDD)
- เรียนรู้การสร้างใหม่
- เรียนรู้รูปแบบ
คนส่วนใหญ่ไม่สนใจ 1 หลายคนเชื่อว่าพวกเขาสามารถทำได้ 2 และเกือบทุกคนตรงไปที่ 3
สำหรับฉันกุญแจสำคัญในการพัฒนาทักษะซอฟต์แวร์ของฉันคือการเรียนรู้ TDD อาจเป็นเวลานานของความเจ็บปวดและการเขียนโค้ดช้า แต่การเขียนการทดสอบของคุณก่อนแน่นอนทำให้คุณคิดมากเกี่ยวกับรหัสของคุณ หากชั้นเรียนต้องการแผ่นกั้นมากเกินไปหรือแตกง่ายคุณจะเริ่มสังเกตเห็นกลิ่นไม่ดีได้อย่างรวดเร็ว
ประโยชน์หลักของ TDD คือคุณไม่กลัวที่จะเปลี่ยนรหัสของคุณและบังคับให้คุณเขียนคลาสที่มีความเป็นอิสระสูงและเหนียวแน่น หากไม่มีชุดทดสอบที่ดีจะเจ็บปวดเกินกว่าจะแตะสิ่งที่ไม่หัก ด้วยเครือข่ายความปลอดภัยคุณจะได้ผจญภัยในการเปลี่ยนแปลงรหัสของคุณอย่างมาก นั่นคือช่วงเวลาที่คุณสามารถเริ่มเรียนรู้จากการปฏิบัติจริง ๆ
ตอนนี้มาถึงจุดที่คุณต้องอ่านหนังสือเกี่ยวกับรูปแบบและตามความเห็นของฉันมันเป็นการเสียเวลาโดยสมบูรณ์ที่พยายามอย่างหนักเกินไป ฉันเข้าใจรูปแบบที่ดีจริงๆหลังจากสังเกตเห็นว่าฉันทำสิ่งที่คล้ายกันหรือฉันสามารถนำไปใช้กับรหัสที่มีอยู่ได้ หากไม่มีการทดสอบความปลอดภัยหรือนิสัยในการปรับโครงสร้างฉันจะรอจนกระทั่งโครงการใหม่ ปัญหาของการใช้รูปแบบในโครงการใหม่คือคุณไม่เห็นว่าพวกเขาส่งผลกระทบหรือเปลี่ยนรหัสการทำงาน ฉันเข้าใจรูปแบบซอฟต์แวร์เฉพาะเมื่อฉันปรับโครงสร้างโค้ดของฉันเป็นหนึ่งในนั้นไม่เคยเมื่อฉันแนะนำโค้ดใหม่ในโค้ด