ฉันเป็นผู้พัฒนาเพียงผู้เดียวในโครงการที่อาจมีคนอื่นนำไปใช้ในโครงการต่อไปในอนาคต
สมมติว่าฉันใช้รูปแบบ X เพื่อใช้คุณสมบัติ A หลังจากพัฒนาและทำให้คุณลักษณะเสร็จสมบูรณ์ฉันรู้ว่าฉันสามารถใช้คุณสมบัติเดียวกันโดยใช้รูปแบบ Y ซึ่งฉันเพิ่งเรียนรู้มา แต่ฟีเจอร์ A ทำงานได้ดีและการเปลี่ยนจาก X เป็น Y นั้นใช้เวลานานและให้ประโยชน์เล็กน้อย
จากนั้นก็ถึงเวลาที่จะใช้งานคุณสมบัติ B มันคล้ายกับ A แต่คราวนี้ฉันต้องการใช้โอกาสนี้เพื่อเล่นกับรูปแบบ Y ฉันมีความสุขกับผลลัพธ์สุดท้ายดีกว่าเมื่อใช้คุณสมบัติ A แต่ตอนนี้โค้ดของฉันใช้สอง รูปแบบที่ต่างกัน, X และ Y, สำหรับคุณสมบัติที่คล้ายกัน
แต่ไม่มีเหตุผลที่แท้จริงที่จะใช้รูปแบบที่แตกต่างกันยกเว้นความจริงที่ว่าเมื่อการสร้างฟีเจอร์ AI นั้นไม่ชำนาญพอที่จะใช้รูปแบบเดียวกันกับฟีเจอร์ B
โปรดทราบว่าคำถามนี้ไม่ได้เกี่ยวกับการเลือกรูปแบบที่เหมาะสมสำหรับปัญหาที่กำหนด ; มันมีอยู่สองรูปแบบที่อยู่ร่วมกันในฐานของรหัสเพื่อแก้ปัญหาที่คล้ายกันซึ่งสามารถลดลงเหลือเพียงครั้งเดียวเพื่อให้มีการปรับโครงสร้าง
- รหัสนั้นมีกลิ่นหรือไม่?
- อะไรคือข้อเสียของการรักษาซอร์สโค้ดเช่นนี้?
- ฉันควรจะใช้รูปแบบเดียวเท่านั้นหรือไม่ เช่น refactor A เพื่อใช้ Y หรือใช้ X ต่อไปเมื่อเขียน B?
- ฉันจะสื่อสารได้อย่างไรว่าสาเหตุที่มีสองรูปแบบที่แตกต่างกันสำหรับคุณสมบัติที่คล้ายกันนั้นไม่มีเหตุผล
- ฉันกังวลมากเกินไปเกี่ยวกับสิ่งที่นักพัฒนาคนต่อไปคิดเกี่ยวกับรหัสของฉันหรือไม่