RSS Le Daily WTF
Suivre
CodeSOD : Un tableau de paramètres
Le code snippet fourni démontre une pratique de codage problématique où une ArrayList est utilisée pour passer plusieurs paramètres à une méthode. La méthode attend que l'ArrayList contienne des types de données et des valeurs spécifiques dans un ordre prédéterminé. Cette approche sacrifie la vérification de type à la compilation pour le risque d'erreurs à l'exécution. La justification de ce design était d'accommoder les changements potentiels futurs de la base de données sous-jacente sans modifier la signature de la méthode. Cependant, cela contourne les fonctionnalités standard du langage comme les arguments facultatifs, qui offriraient une solution plus sûre et plus maintenable. Le développeur a cru à tort que passer une ArrayList de cette manière rendait le code plus flexible. Ce modèle d'utilisation d'ArrayLists comme sacs de paramètres est prévalent dans tout le codebase. L'alternative des paramètres facultatifs aurait fourni une sécurité à la compilation et une intention plus claire. La mise en œuvre actuelle repose sur des hypothèses implicites concernant l'ordre et le type des données, ce qui conduit à un code fragile. Cette pratique est considérée comme un anti-modèle dans le développement logiciel.