Wat is codemigratie?
Codemigratie is de verplaatsing van programmeercode van het ene systeem naar het andere. Er zijn drie verschillende niveaus van codemigratie met toenemende complexiteit, kosten en risico's. Eenvoudige migratie omvat de overgang van taal naar een nieuwere versie. Een tweede, meer gecompliceerd migratieniveau betreft het verhuizen naar een andere programmeertaal. Migreren naar een volledig nieuw platform of besturingssysteem is het meest complexe type migratie.
Het eerste type codemigratie is een eenvoudige beweging van de ene versie van een taal naar een nieuwere, maar syntactisch andere versie. Dit is de gemakkelijkste codemigratieroute, omdat de basisstructuur en veel van de programmeerconstructies meestal niet veranderen. In veel gevallen zou de oude code echt werken, maar nieuwe en verbeterde routines of modularisatie kunnen worden verbeterd door de code opnieuw aan te passen aan de aard van de nieuwe taal. Daarom zou het migreren van de code leiden tot meer efficiëntie bij de uitvoering.
Het tweede niveau van codemigratie zou migreren naar een compleet andere programmeertaal. Dit kan worden veroorzaakt door porten naar een nieuw softwaresysteem of door een ander relationeel databasebeheersysteem (RDMS) te implementeren. Dit type codemigratie vereist vaak dat programmeurs een geheel nieuwe taal leren, of dat er nieuwe programmeurs worden ingeschakeld om te helpen met de migratie. In dit geval moet het hele programma van de grond af worden herschreven. Hoewel de meeste constructies waarschijnlijk in beide talen bestaan, is de exacte syntaxis meestal volledig anders.
Het meest complexe voorbeeld van codemigratie is migratie naar een volledig nieuw platform en / of besturingssysteem (OS). Dit verandert niet alleen de programmeertaal, maar ook de machinecode achter de taal. Terwijl de meeste moderne programmeertalen de programmeur beschermen tegen deze low-level code, is kennis van het besturingssysteem en hoe het werkt essentieel voor het produceren van code die efficiënt is en naar verwachting wordt uitgevoerd.
Ongeacht het type codemigratie moet de aanpak hetzelfde zijn. Het migratieteam of programmeur moet elke module, functie en subroutine in het doel verdelen en het programma in kaart brengen. Dit is een reverse-engineering van de originele software-ontwikkelingslevenscyclus (SDLC). Zodra deze modules en functies in kaart zijn gebracht op het hoogste niveau, kunnen ze worden herschreven en op een gecompartimenteerde manier worden getest in de nieuwe taal. Zoals bij elk geavanceerd computerprogrammeerproject, zijn een goede planning en documentatie de sleutel tot een succesvolle codemigratie.