Hva er kodemigrering?
Kodemigrering er bevegelse av programmeringskode fra et system til et annet. Det er tre forskjellige nivåer av kodemigrering med økende kompleksitet, kostnader og risiko. Enkel migrering involverer bevegelsen fra språk til en nyere versjon. Et annet, mer komplisert migrasjonsnivå innebærer å flytte til et annet programmeringsspråk. Migrering til en helt ny plattform eller operativsystem er den mest komplekse typen migrasjon.
Den første typen kodemigrering er en enkel bevegelse fra en versjon av et språk til en nyere, men syntaktisk annerledes versjon. Dette er de enkleste kodetransportveiene, fordi den grunnleggende strukturen og mye av programmeringskonstruksjonene vanligvis ikke endres. I mange tilfeller vil den gamle koden faktisk fungere, men nye og forbedrede rutiner eller modularisering kan forbedres ved å kule koden på nytt for å passe til det nye språket. Derfor vil migrering av koden føre til mer effektivitet i utførelsen.
Det andre nivået av kodemigrering ville være å migrere til et helt annet programmeringsspråk. Dette kan være forårsaket av porting til et nytt programvaresystem eller implementering av et annet relasjonsdatabasestyringssystem (RDMS). Denne typen kodemigrering krever ofte at programmerere lærer et helt nytt språk, eller at nye programmerere blir hentet inn for å hjelpe til med migreringen. I dette tilfellet må hele programmet skrives om fra grunnen av. Selv om de fleste konstruksjonene sannsynligvis eksisterer på begge språk, er den nøyaktige syntaks vanligvis helt annerledes.
Det mest komplekse eksemplet på kodemigrering er migrering til en helt ny plattform og / eller operativsystem (OS). Dette endrer ikke bare programmeringsspråket, men også maskinkoden bak språket. Mens de fleste moderne programmeringsspråk beskytter programmereren mot denne lave koden, er kunnskap om operativsystemet og hvordan den fungerer viktig for å produsere kode som er effektiv og utføres som forventet.
Uansett type kodemigrering, bør tilnærmingen være den samme. Migrasjonsteamet eller programmereren skal dele hver modul, funksjon og underrutine i sitt formål og flytskjema for programmet. Dette er en reverse engineering av den opprinnelige programvaren utvikling livssyklus (SDLC). Når disse modulene og funksjonene er kartlagt til sitt høye nivå, kan de skrives om og testes på en avdeling på det nye språket. Som ethvert avansert dataprogrammeringsprosjekt er riktig planlegging og dokumentasjon nøkkelen til en vellykket kodemigrering.