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