On m'a demandé d'évaluer ce qui semble être une base de code héritée substantielle, en tant que précurseur d'un contrat de maintenance de cette base de code.
Ce n'est pas la première fois que je suis dans cette situation. Dans le cas présent, le code est destiné à un site de jeu multijoueur à profil assez élevé et assez chargé, prenant en charge au moins plusieurs milliers de joueurs en ligne à la fois. Comme beaucoup de ces sites sont, celui-ci est un mélange de technologies frontales et principales.
La structure du site, vue de l'intérieur, est un gâchis. Il y a des dossiers suffixés "_OLD" et "_DELETE" qui se trouvent partout. La plupart des dossiers semblent inutiles ou portent des noms très cryptés. Il pourrait y avoir un certain nombre d'anciens scripts inutilisés qui traînent même dans des dossiers d'apparence légitime. Non seulement cela, mais il y a sans aucun doute de nombreuses sections de code disparues, même dans des scripts par ailleurs opérationnels (une préoccupation beaucoup moins urgente).
Il s'agit d'un transfert des mainteneurs en place, aux développeurs / mainteneurs originaux du site. Comme il est compréhensible de manière typique dans ce genre de scénarios, le titulaire ne veut rien avoir à faire avec le transfert autre que ce qui est contractuellement et légalement exigé d'eux pour le repousser au responsable nouvellement élu. Il est donc tout simplement hors de question d'extraire des informations sur la structure du site existant.
La seule approche qui vient à l'esprit pour entrer dans la base de code est de commencer à la racine du site et de parcourir lentement mais sûrement les scripts liés ... et il y en a probablement des centaines en cours d'utilisation, et des centaines d'autres qui ne le sont pas. Étant donné qu'une partie substantielle du site est en Flash, cela est encore moins simple car, en particulier dans les anciennes applications Flash, les liens vers d'autres scripts peuvent être intégrés dans des fichiers binaires (.FLA) plutôt que dans des fichiers texte (.AS / ActionScript).
Je me demande donc si quelqu'un a de meilleures suggestions sur la façon d'aborder l'évaluation de la base de code dans son ensemble pour la maintenabilité. Ce serait merveilleux s'il y avait un moyen de regarder un graphique de la fréquence d'accès aux fichiers sur le système d'exploitation du serveur Web (auquel j'ai accès), car cela pourrait donner un aperçu des fichiers les plus critiques, même s'il ne le ferait pas être en mesure d'éliminer les fichiers qui ne sont jamais utilisés (car certains fichiers ne peuvent être utilisés qu'une seule fois par an).