CodeSOD: Upsert Yours Notiz

CodeSOD: Upsert Yours

Ein Programmierer teilte einen Code-Ausschnitt aus einem .NET Framework zu .NET Core Migrationsprojekt. Der Code zeigt einen CustomerController mit einer Aktionsmethode, die ein Customer-Objekt verarbeitet. Innerhalb der Methode prüft eine Bedingung customer.someProperty, um zu entscheiden, welche überladene UpsertSomething-Methode aufgerufen werden soll. Die UpsertSomething-Methode wird mit einer sehr langen Liste von Parametern aufgerufen, von denen viele null oder boolesche Standardwerte sind. Der Autor weist darauf hin, dass sich die beiden Aufrufe von UpsertSomething fast gleichen und sich nur in einem booleschen Parameter unterscheiden. Dies deutet darauf hin, dass die if/else-Anweisung unnötig war. Stattdessen hätte der Wert von customer.someProperty direkt als Argument an einen einzigen UpsertSomething-Aufruf übergeben werden können. Der Autor hebt dies als Paradebeispiel für weniger ideale Programmierpraktiken hervor. Der bereitgestellte Ausschnitt ist repräsentativ für die breitere Codebasis, auf die während der Migration gestoßen wurde. Der Beitrag dient als Beispiel dafür, wie Codekomplexität manchmal durch einfachere Designentscheidungen vermieden werden kann.