รหัสแก้ไขตัวเองคืออะไร?

รหัสแก้ไขตัวเองเป็นปรัชญาการเขียนโปรแกรมที่นักพัฒนาสร้างโปรแกรมที่สามารถเปลี่ยนการเข้ารหัสของตัวเองเมื่อดำเนินการ ในขณะที่ผู้พัฒนาสามารถป้อนพารามิเตอร์สำหรับรหัสการแก้ไขด้วยตนเองได้ แต่โดยทั่วไปจะมีการเปลี่ยนแปลงและปรับให้เหมาะสมโดยไม่มีการโต้ตอบ มีปรากฏการณ์คอมพิวเตอร์บางอย่างที่ทำให้เกิดการเข้ารหัสเพื่อเปลี่ยนโดยไม่ได้ตั้งใจ แต่มีเพียงรหัสการแก้ไขตัวเองโดยเจตนาเท่านั้นที่จะพิจารณาการแก้ไขด้วยตนเอง โดยทั่วไปแล้วนักพัฒนาซอฟต์แวร์นี้ใช้เพื่อปรับปรุงการเขียนโค้ดเพราะการเรียกใช้การเข้ารหัสหลายครั้งสามารถปรับปรุงการออกแบบเดิมได้อย่างมาก

ส่วนที่กำหนดมากที่สุดของรหัสการแก้ไขด้วยตนเองคือความสามารถในการเปลี่ยนแปลงตัวเองให้ดีขึ้น สิ่งนี้สามารถทำได้ก็ต่อเมื่อการเขียนโค้ดพร้อมที่จะดำเนินการและเมื่อมันกำลังเตรียมที่จะทำงาน รหัสการดำเนินการจะต้องเก็บสต็อคซอฟต์แวร์ปัจจุบันสถานะและปัจจัยอื่น ๆ ของคอมพิวเตอร์ดังนั้นโดยปกติจะช่วยให้รหัสรับรู้ข้อผิดพลาดในการประมวลผลเพื่อแก้ไขการประมวลผลของตัวเองได้ดีที่สุด

นักพัฒนาบางครั้งการตั้งค่าพารามิเตอร์สำหรับรหัสการแก้ไขด้วยตนเองเช่นการแก้ไขตัวเองเพื่อประสิทธิภาพเป็นส่วนใหญ่ แต่ปกติแล้วโค้ดจะแก้ไขตัวเองโดยไม่ต้องโต้ตอบหรือแจ้ง นอกเหนือจากการประมวลผลที่เพิ่มขึ้นโค้ดยังจะลบรหัสที่ไม่จำเป็นซึ่งเพียงแค่ลากโปรแกรมลงและจะลดความยาวเส้นทาง ในเวลาเดียวกันนักพัฒนาสามารถระบุพื้นที่ที่ไม่สามารถเปลี่ยนแปลงได้เนื่องจากการแก้ไขบางส่วนของรหัสอาจทำให้โปรแกรมทั้งหมดประสบหรือหยุดทำงาน

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

มีประโยชน์หลายประการในการมีรหัสการแก้ไขตนเองเนื่องจากจะสามารถปรับปรุงตัวเองอย่างต่อเนื่องโดยพิจารณาจากสถานะปัจจุบันของคอมพิวเตอร์และปัจจัยภายในอื่น ๆ นักพัฒนาซอฟต์แวร์นี้ใช้งานอย่างเข้มงวดที่สุดก่อนที่จะมีการจำหน่ายหรือแจกจ่ายรหัส โดยการอนุญาตให้โค้ดทำงานอย่างต่อเนื่องจะช่วยให้การเขียนโปรแกรมสามารถแก้ไขตัวเองและข้อผิดพลาดหรือปัญหาที่เกิดจากนักพัฒนาในระหว่างการสร้างรหัส การใช้งานอื่นสำหรับสิ่งนี้คือในคอมพิวเตอร์ที่มีหน่วยความจำ จำกัด เนื่องจากรหัสนี้จะตอบสนองต่อการขาดแคลนหน่วยความจำโดยการลดขนาดของตัวเอง