Une des méthodes que j'utilise couramment dans notre base de code est mal orthographiée (et elle m'a précédée).
Cela m'irrite vraiment pas simplement parce qu'il est mal orthographié, mais plus important encore, je me trompe TOUJOURS le premier fois que je tape le nom (et ensuite je dois me rappeler "Oh, oui, il devrait être mal orthographié ...")
Je fais quelques changements autour de la méthode originale. Devrais-je en profiter pour renommer la méthode freaking?
refactoring
Un deux trois
la source
la source
Réponses:
Absolument.
Cela dit, si votre code a été publié en tant qu'API, vous devez également généralement laisser la méthode mal orthographiée et la transmettre à la méthode correctement nommée (la marquant comme obsolète si votre langue prend en charge de telles choses).
la source
Il y a des cas où vous devriez éviter de faire de tels refactorings:
Si la méthode est utilisée dans une interface publique. Un exemple canonique est l’orthographe erronée de refererrer dans le référent HTTP , l’orthographe erronée étant conservée, car changer l’orthographe aurait maintenant trop de répercussions.
Si la base de code n'est couverte par aucun test. Toute refactorisation doit être effectuée sur du code testé afin de pouvoir effectuer des tests de régression. Refactoriser la base de code non testée est particulièrement risqué. Si vous avez beaucoup de temps, commencez par ajouter des tests; si vous travaillez sous la pression du temps, prendre le risque d'introduire des bugs subtils n'est pas la meilleure chose à faire si vous souhaitez expédier à temps.
Si la méthode peut être utilisée de manière inhabituelle , cela rend son utilisation pratiquement impossible à trouver (via Ctrl + F ou à l'aide d'un outil de refactoring automatisé). Par exemple, en C #, une méthode peut être appelée via Reflection, ce qui rend la boîte de dialogue Renommer de Visual Studio inefficace. En JavaScript, la fonction appelée inside
eval()
est également difficile à trouver. En PHP, les variables variables peuvent causer des problèmes.Si la taille du projet est énorme et que la méthode peut être utilisée par d'autres équipes. Ceci est similaire au premier point, c.-à-d. Que l'interface que vous fournissez aux autres équipes peut être considérée comme une interface publique.
Si vous traitez avec un projet critique de la vie. Les erreurs d’orthographe ne sont pas très importantes pour justifier quelques mois de paperasse afin de changer le nom de la méthode et d’assurer qu’un patient ne reçoive pas dix fois plus de radiations autorisées, ni aucune navette ne calculera mal sa vitesse.
Dans toute autre situation, n'hésitez pas à renommer la méthode.
la source
Je l'ai fait il y a quelques mois (pour différentes raisons). Les étapes que j'ai prises (la langue était Perl):
Après un certain temps, supprimez la méthode avec l'ancien nom.
Bien sûr, votre kilométrage variera.
la source
Un bon moyen de ne casser aucun code existant serait de chaîner le nouveau nom de la méthode à l'ancien, par exemple
puis marquez l'ancienne méthode comme obsolète (si votre langue le supporte). De cette façon, tout code existant fonctionnera toujours et vous pourrez éliminer progressivement l’ancienne erreur d’orthographe de votre base de code. Finalement, vous pourriez même copier / coller le corps de la méthode dans la nouvelle méthode et supprimer l’ancien.
/ Edit Comme le disait ivo dans le commentaire: Une meilleure chose à faire serait de déplacer le code de
TheOldMethodName
dans leMyNewMethodName
et d'appeler la nouvelle méthode à partir de l'ancienne. Celui-ci aurait également l'avantage d'aider le développeur à se faire une idée de l'endroit où le code appartient.la source
Renommer la méthode:
Ce sont deux options que vous pourriez choisir. Je préférerais l'auto-complétion (ex. Eclipse IDE) et n'ai pas besoin de taper le nom de la méthode. Aller pour le renommer; Assurez-vous simplement de savoir ce qui appelle cette méthode et modifiez les références directes à chaque endroit. Le refactoring sera votre ami pour cela, mais soyez très prudent lorsque vous le faites.
la source
Je recommanderais généralement oui, le renommer.
D'autres réponses ici ont énuméré les bonnes raisons pour lesquelles vous pourriez ne pas vouloir le renommer, alors si vous vous trouvez dans une telle situation, vous pouvez créer une nouvelle méthode avec le nom et l'implémentation appropriés et modifier l'ancienne méthode pour appeler la nouvelle méthode. . Ensuite, marquez l’ancien comme obsolète si votre langue le supporte.
la source