CodeSOD : Rapport Annuel Note

CodeSOD : Rapport Annuel

"Michael a été chargé de moderniser les rapports de mainframe, ce qui impliquait de déchiffrer le code Intelligent Query ancien. L'objectif du projet était de reproduire le comportement exact du système ancien avec un nouveau système, avec des tests basés sur des comparaisons de sortie. Après avoir converti un rapport, les résultats ne correspondaient pas à l'original. Michael a découvert une erreur dans une variable nommée TODAYS-365, utilisée dans un rapport intitulé "Annuel". Alors que le rapport mis à jour tirait correctement une année de données, le code original contenait une ligne étrange : SOUSTRAIRE TODAYS-DATE MOINS 426 DONNANT TODAYS-365. Ce calcul signifiait que le rapport original capturait en réalité des données de l'année précédente plus environ deux mois. Il est spéculé qu'un changement dans les exigences de reporting, peut-être lié aux années fiscales, a conduit à ce nom de variable trompeur et à ce calcul, qui est resté inaperçu pendant des années. La correction était simple, mais le problème sous-jacent était l'accumulation de code unclear et trompeur au fil du temps. Cela met en évidence que le vrai défi avec les systèmes hérités n'est pas les langages de programmation eux-mêmes, mais les couches de "kruft" accumulées, souvent mal documentées."