CodeSOD : Upsert le vôtre Note

CodeSOD : Upsert le vôtre

Un programmeur a partagé un extrait de code d'un projet de migration de .NET Framework vers .NET Core. Le code présente un CustomerController avec une méthode d'action qui traite un objet Customer. À l'intérieur de la méthode, une condition vérifie customer.someProperty pour décider quelle méthode UpsertSomething surchargée appeler. La méthode UpsertSomething est appelée avec une très longue liste de paramètres, dont beaucoup sont nuls ou des valeurs booléennes par défaut. L'auteur souligne que les deux appels à UpsertSomething sont presque identiques, ne différant que par un seul paramètre booléen. Cela suggère que l'instruction if/else était inutile. Au lieu de cela, la valeur de customer.someProperty aurait pu être passée directement comme argument à un seul appel UpsertSomething. L'auteur souligne cela comme un excellent exemple de pratiques de codage moins qu'idéales. L'extrait fourni est représentatif de la base de code plus large rencontrée lors de la migration. Le post sert d'exemple de la façon dont la complexité du code peut parfois être évitée avec des choix de conception plus simples.