Qu'est-ce que la migration de code?
La migration de code est le mouvement de code de programmation d'un système à un autre. Il existe trois niveaux distincts de migration de code avec une complexité, des coûts et des risques croissants. La migration simple implique le passage de la langue à une version plus récente. Un deuxième niveau de migration, plus complexe, consiste à passer à un autre langage de programmation. La migration vers une plate-forme ou un système d'exploitation entièrement nouveau constitue le type de migration le plus complexe.
Le premier type de migration de code est un simple mouvement d'une version d'une langue à une version plus récente, mais syntaxiquement différente. Il s’agit de la plus simple des routes de migration de code car la structure de base et la plupart des constructions de programmation ne changent généralement pas. Dans de nombreux cas, l'ancien code fonctionnerait réellement, mais des routines nouvelles et améliorées ou une modularisation peuvent être améliorées en réoutillant le code pour l'adapter à la nature du nouveau langage. Par conséquent, la migration du code entraînerait une plus grande efficacité d'exécution.
Le deuxième niveau de migration du code serait la migration vers un langage de programmation complètement différent. Cela pourrait être dû au portage sur un nouveau système logiciel ou à la mise en œuvre d'un système de gestion de base de données relationnelle différent (RDMS). Ce type de migration de code nécessite souvent que les programmeurs apprennent un tout nouveau langage ou que de nouveaux programmeurs soient invités à participer à la migration. Dans ce cas, tout le programme doit être réécrit à partir de zéro. Même si la plupart des constructions sont susceptibles d'exister dans les deux langues, la syntaxe précise est généralement complètement différente.
L'exemple le plus complexe de migration de code consiste à migrer vers une plate-forme et / ou un système d'exploitation entièrement nouveaux. Cela change non seulement le langage de programmation, mais aussi le code machine derrière le langage. Alors que la plupart des langages de programmation modernes protègent le programmeur de ce code de bas niveau, la connaissance du système d'exploitation et de son fonctionnement est essentielle pour produire un code efficace et qui s'exécute comme prévu.
Quel que soit le type de migration du code, l'approche doit être la même. L'équipe de migration ou le programmeur doit décomposer chaque module, fonction et sous-routine dans son objectif et son organigramme du programme. Il s'agit d'une ingénierie inverse du cycle de vie de développement logiciel (SDLC) d'origine. Une fois que ces modules et fonctions ont été cartographiés à leur fonction principale, ils peuvent être réécrits et testés de manière compartimentée dans la nouvelle langue. Comme pour tout projet de programmation informatique avancée, une planification et une documentation appropriées sont la clé d'une migration réussie du code.