Je travaille actuellement sur une application web d'environ 15 ans.Nettoyage énorme Perl Codebase
Il contient principalement des scripts CGI perl avec modèles HTML :: Template.
Il a plus de 12 000 fichiers et environ 260 Mo de code total. J'estime que pas plus de 1500 scripts perl sont nécessaires et je veux me débarrasser de tout le code inutilisé.
Il n'y a pratiquement aucun test écrit pour le code.
Mes questions sont les suivantes:
- Connaissez-vous un module CPAN qui peut me aider à obtenir une liste de seulement
use
d etrequire
modules d? - Quelle serait votre approche si vous voulez vous débarrasser de tout le code supplémentaire?
Je pensais aux approches suivantes:
- essayer de passer outre les
use
etrequire
perl builtins avec ceux qui sortie le nom du fichier chargé dans un emplacement spécifique - override la
warnings
et/oustrict
modulesimport
fonction et la sortie du nom de fichier à l'emplacement spécifique - étudier le module
Devel::Cover
perl et d'adopter la même approche et d'analyser le c ode lorsque vous faites le test manuel au lieu de tests automatisés - remplacer l'exécutable perl avec un personnalisé, qui se connectera chaque nom de fichier, il lit (je ne sais pas comment faire encore)
- une utilisation créative de
lsof
(!?)
Mon approche serait de commencer par écrire les tests avant de toucher un code, comme toujours lors d'une maintenance majeure. –
Mes estimations sont que 80% du code n'est pas utilisé/nécessaire - il n'est pas financièrement possible d'écrire des tests pour l'ensemble du code. –
@TudorConstantin - N'écrivez pas de tests unitaires pour le CODE. Rédiger des tests fonctionnels pour les cas d'utilisation de l'application. – DVK