Skip to main content

Hvad er en selvmodificerende kode?

Selvmodificerende kode er en programmeringsfilosofi, hvor udvikleren laver et program, der er i stand til at ændre sin egen kodning, når den udføres.Mens udvikleren kan indtaste parametre for den selvmodificerende kode, ændrer og optimerer den sig normalt uden interaktion.Der er nogle computerfænomener, der får kodning til at ændre sig utilsigtet, men kun forsætlig selvmodificerende kode betragtes virkelig som selvmodificerende.Dette bruges oftest af udviklere til at forbedre deres kodning, fordi det at køre kodningen mange gange kan forbedre det originale design.

Det mest definerende aspekt af selvmodificerende kode er dens evne til at ændre sig til det bedre.Dette kan kun gøres, når kodningen gør sig klar til at udføre, og når det forbereder sig på at køre.Den eksekverende kode bliver nødt til at gøre status over computerens nuværende software, tilstand og andre faktorer, så dette hjælper normalt koden med at genkende behandlingsfejl til bedst at rette opi sig selv for det meste til ydeevne, men koden vil normalt korrigere sig selv uden interaktion eller anmodning.Bortset fra øget behandling, vil koden også slette unødvendig kode, der bare trækker ned programmet, og den vil reducere sti -længderne.På samme tid kan udviklere specificere områder, der ikke kan ændres, fordi ændring af nogle dele af koden kan få hele programmet til at lide eller stoppe med at arbejde.

Et fænomen forekommer lejlighedsvis i software, hvor kodningen ændrer sig uden udvikleren skriver iEventuelle instruktioner til det at gøre det.Dette forekommer normalt med software råd eller pufferproblemer, og selvom kodningen ændres, betragtes den ikke som selvmodificerende kode.Der er to grunde til dette, hvoraf den ene er, at ændringen ikke med vilje foretages af udvikleren.Den anden grund er, at selvmodificerende programmering er beregnet til at forbedre kodning, mens buffer- og rådsproblemer forringer kodning.

Der er mange fordele ved at have selvmodificerende kode, fordi det konstant vil fungere for at forbedre sig selv baseret på computerens nuværende tilstandog andre interne faktorer.Dette bruges mest strengt af udvikleren, før koden sælges eller distribueres.Ved at tillade koden at køre konstant, gør det muligt for programmeringen at løse sig selv og eventuelle fejl eller problemer, der er forårsaget af udvikleren under kodningens oprettelse.En anden anvendelse til dette er i computere med begrænset hukommelse, fordi denne kode reagerer på en hukommelsesmangel ved at reducere sin egen størrelse.