Hvad er kodemigration?
Kodemigration er bevægelsen af programmeringskode fra et system til et andet. Der er tre forskellige niveauer af kodemigrering med stigende kompleksitet, omkostninger og risiko. Enkel migration involverer bevægelsen fra sprog til en nyere version. Et andet, mere kompliceret migrationsniveau involverer at flytte til et andet programmeringssprog. Migrering til en helt ny platform eller operativsystem er den mest komplekse type migration.
Den første type kodemigrering er en simpel bevægelse fra en version af et sprog til en nyere, men syntaktisk anden version. Dette er den nemmeste kode migrationsruter, da den grundlæggende struktur og meget af programmeringskonstruktionerne normalt ikke ændres. I mange tilfælde fungerer den gamle kode faktisk, men nye og forbedrede rutiner eller modularisering kan forbedres ved at genindkøle koden for at passe til det nye sprogs natur. Derfor vil migrering af koden føre til mere effektivitet i udførelsen.
Det andet niveau af kodemigrering ville være migrering til et helt andet programmeringssprog. Dette kan være forårsaget af portering til et nyt softwaresystem eller implementering af et andet relationelt databasestyringssystem (RDMS). Denne type kodemigration kræver ofte, at programmerere lærer et helt nyt sprog, eller at nye programmerere bringes ind for at hjælpe med migreringen. I dette tilfælde skal hele programmet skrives om fra bunden. Selvom de fleste konstruktioner sandsynligvis findes på begge sprog, er den nøjagtige syntaks normalt helt anderledes.
Det mest komplekse eksempel på kodemigrering er migrering til en helt ny platform og / eller operativsystem (OS). Dette ændrer ikke kun programmeringssproget, men også maskinkoden bag sproget. Mens de fleste moderne programmeringssprog beskytter programmereren mod denne lave kode, er viden om operativsystemet og hvordan det fungerer vigtigt for at producere kode, der er effektiv og udføres som forventet.
Uanset typen af kodemigrering, skal fremgangsmåden være den samme. Migrationsteamet eller programmøren skal opdele hvert modul, funktion og underrutine i dets formål og flowdiagram programmet. Dette er en reverse engineering af den originale softwareudviklingslivscyklus (SDLC). Når disse moduler og funktioner er kortlagt til deres høje niveau, kan de blive omskrevet og testet på en kompartementeret måde på det nye sprog. Som ethvert avanceret computerprogrammeringsprojekt er korrekt planlægning og dokumentation nøglen til en vellykket kodemigrering.