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