RSS Le Daily WTF
Suivre
Ligne représentative : Un paramètre de plus, mon pote
Matt avait besoin d'ajouter un nouveau champ à un formulaire, mais la tâche était compliquée par la méthode utilisée pour enregistrer les modifications dans la base de données. La méthode, saveQualif, comportait 36 paramètres de type chaîne, ce qui la rendait difficile à utiliser. La méthode créait un objet d'accès aux données avec le même nombre de paramètres et mettait à jour les champs dans la base de données s'ils n'étaient pas nuls. Les paramètres incluaient des informations sensibles comme pdfPassword, qui était stockée en texte clair. La méthode était appelée deux fois, une fois avec tous les paramètres remplis et une fois avec la plupart des paramètres définis à null. Matt était tenté de refactoriser la méthode pour l'améliorer, mais il craignait de casser quelque chose et a décidé d'ajouter un autre paramètre à la place. Cette approche a été adoptée par les développeurs précédents, qui ont également évité de refactoriser la méthode. Le résultat est une base de code complexe et difficile à maintenir. La refactorisation est souvent reportée à plus tard, laissant le soin aux futurs développeurs de s'en occuper. Cette approche peut entraîner des problèmes à terme, tels que des erreurs et des vulnérabilités de sécurité.