การโยกย้ายรหัสเป็นการเคลื่อนที่ของโค้ดโปรแกรมจากระบบหนึ่งไปอีกระบบหนึ่ง การย้ายรหัสมีสามระดับด้วยความซับซ้อนต้นทุนและความเสี่ยงที่เพิ่มขึ้น การโยกย้ายง่ายเกี่ยวข้องกับการเคลื่อนไหวจากภาษาไปยังรุ่นที่ใหม่กว่า การย้ายในระดับที่สองและซับซ้อนกว่านั้นคือการย้ายไปใช้ภาษาโปรแกรมอื่น การโอนย้ายไปยังแพลตฟอร์มหรือระบบปฏิบัติการใหม่ทั้งหมดเป็นการโอนย้ายชนิดที่ซับซ้อนที่สุด
การโยกย้ายรหัสชนิดแรกคือการเคลื่อนย้ายอย่างง่ายจากรุ่นหนึ่งของภาษาไปสู่รุ่นที่ใหม่กว่า นี่เป็นวิธีที่ง่ายที่สุดในการกำหนดเส้นทางการโยกย้ายรหัสเนื่องจากโครงสร้างพื้นฐานและโครงสร้างการเขียนโปรแกรมส่วนใหญ่มักจะไม่เปลี่ยนแปลง ในหลายกรณีรหัสเก่าจะใช้งานได้จริง แต่สามารถปรับปรุงขั้นตอนการทำงานใหม่หรือปรับปรุงแบบแยกส่วนได้โดยการปรับรหัสให้เหมาะกับลักษณะของภาษาใหม่ ดังนั้นการโยกย้ายรหัสจะทำให้ประสิทธิภาพในการดำเนินการดีขึ้น
การโยกย้ายรหัสระดับที่สองจะเป็นการย้ายไปยังภาษาการเขียนโปรแกรมที่แตกต่างอย่างสิ้นเชิง อาจเกิดจากการย้ายระบบซอฟต์แวร์ใหม่หรือการนำระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDMS) ที่แตกต่างกันไป การโยกย้ายรหัสประเภทนี้มักต้องการให้โปรแกรมเมอร์เรียนรู้ภาษาใหม่ทั้งหมดหรือมีโปรแกรมเมอร์ใหม่เข้ามาเพื่อช่วยในการโยกย้าย ในกรณีนี้โปรแกรมทั้งหมดจะต้องถูกเขียนใหม่ตั้งแต่เริ่มต้น แม้ว่าโครงสร้างส่วนใหญ่จะมีอยู่ในทั้งสองภาษา แต่ไวยากรณ์ที่แม่นยำมักจะแตกต่างกันโดยสิ้นเชิง
ตัวอย่างที่ซับซ้อนที่สุดของการโยกย้ายรหัสกำลังย้ายไปยังแพลตฟอร์มและ / หรือระบบปฏิบัติการ (OS) ใหม่ทั้งหมด สิ่งนี้ไม่เพียง แต่เปลี่ยนภาษาการเขียนโปรแกรม แต่ยังรวมถึงรหัสเครื่องที่อยู่ด้านหลังภาษา ในขณะที่ภาษาการเขียนโปรแกรมที่ทันสมัยส่วนใหญ่ป้องกันโปรแกรมเมอร์จากรหัสระดับต่ำนี้ความรู้เกี่ยวกับระบบปฏิบัติการและวิธีการทำงานเป็นสิ่งจำเป็นในการสร้างรหัสที่มีประสิทธิภาพและดำเนินการตามที่คาดไว้
โดยไม่คำนึงถึงประเภทของการโยกย้ายรหัสวิธีการควรจะเหมือนกัน ทีมการโยกย้ายหรือโปรแกรมเมอร์ควรแบ่งแต่ละโมดูลฟังก์ชันและรูทีนย่อยลงในวัตถุประสงค์และแผนภูมิการไหลของโปรแกรม นี่คือวิศวกรรมย้อนกลับของวงจรการพัฒนาซอฟต์แวร์ดั้งเดิม (SDLC) เมื่อโมดูลและฟังก์ชั่นเหล่านี้ได้รับการจัดทำแผนภูมิตามวัตถุประสงค์ระดับสูงแล้วพวกเขาสามารถเขียนใหม่และทดสอบในรูปแบบที่แยกประเภทในภาษาใหม่ เช่นเดียวกับโครงการการเขียนโปรแกรมคอมพิวเตอร์ขั้นสูงการวางแผนและเอกสารที่เหมาะสมเป็นกุญแจสำคัญในการย้ายรหัสที่ประสบความสำเร็จ


