ฉันกำลังทำงานกับ codebase เก่าซึ่ง ... ไม่สมบูรณ์ในสภาพแวดล้อมที่ไม่เหมือนกัน ไม่ใช่ codebase ที่เลวร้ายที่สุดที่ฉันเคยเห็นในชีวิตของฉัน แต่ยังมีปัญหาอีกมากมาย: การทดสอบหน่วยเป็นศูนย์ วิธีการที่มีโค้ดมากกว่าพันบรรทัด ความเข้าใจผิดของหลักการเชิงวัตถุพื้นฐาน เป็นต้น
มันเจ็บที่จะรักษารหัส
- ทุกครั้งที่ฉันต้องแก้จุดบกพร่องหนึ่งพันบรรทัดของวิธีการเขียนที่ไม่ดีพร้อมตัวแปรที่นำกลับมาใช้ใหม่ทั้งหมดฉันก็หลงทางทั้งหมด
- การแก้ไขหรือการปรับโครงสร้างใหม่บางครั้งฉันได้ทำบั๊กแล้วในสถานที่อื่น ๆ ของแอพพลิเคชั่น
- การขาดเอกสารการทดสอบหรือสถาปัตยกรรมที่สังเกตได้และรวมกับวิธีการตั้งชื่อที่ไม่ดีฉันรู้สึกว่าฉันเติมหน่วยความจำที่ใช้งานได้ทั้งหมดของฉัน ไม่มีที่เหลือสำหรับสิ่งอื่น ๆ ทั้งหมดที่ฉันต้องจำไว้เพื่อที่จะเข้าใจรหัสที่ฉันควรแก้ไข
- การขัดจังหวะอย่างต่อเนื่องในสถานที่ทำงานรบกวนฉันและทำให้ฉันช้าลง
- ฉันไม่สามารถจำงานมากกว่าสองหรือสามครั้งต่อครั้งหากไม่มีระบบติดตามบั๊กและฉันลืมงานทั้งหมดในช่วงสุดสัปดาห์
เพื่อนร่วมงานของฉันดูเหมือนจะไม่มีปัญหาที่คล้ายกัน
- พวกเขาจัดการเพื่อดีบักวิธีการเขียนที่ไม่ดีได้เร็วกว่าฉันมาก
- พวกเขาแนะนำข้อบกพร่องน้อยกว่าที่ฉันทำเมื่อเปลี่ยนรหัสฐาน
- ดูเหมือนว่าพวกเขาจะจำได้ดีมากสิ่งที่พวกเขาต้องการเพื่อเปลี่ยนรหัสแม้ว่ามันจะต้องอ่านรหัสหลายพันบรรทัดในยี่สิบไฟล์ที่แตกต่างกัน
- ดูเหมือนว่าพวกเขาจะไม่ถูกรบกวนจากอีเมลโทรศัพท์ดังผู้คนที่พูดคุยกันและคนอื่น ๆ ถามคำถามพวกเขา
- พวกเขาไม่ต้องการใช้ระบบติดตามบั๊กที่เรามีอยู่แล้วตั้งแต่เราใช้ TFS พวกเขาชอบที่จะจำงานที่ควรทำทุกครั้ง
ทำไมสิ่งนี้ถึงเกิดขึ้น มันเป็นทักษะที่นักพัฒนาเฉพาะได้รับเมื่อทำงานกับรหัสที่เขียนไม่ดีเป็นเวลานานหรือไม่? การที่ฉันไม่มีประสบการณ์เกี่ยวกับรหัสที่ไม่ดีมีส่วนทำให้เกิดปัญหา / ความรู้สึกเหล่านี้หรือไม่? ฉันมีปัญหากับหน่วยความจำของฉันหรือไม่?