RSS Der tägliche WTF
Folgen
CodeSOD: Eine Anordnung von Parametern
Der bereitgestellte Codeausschnitt demonstriert eine problematische Programmierpraxis, bei der eine ArrayList verwendet wird, um mehrere Parameter an eine Methode zu übergeben. Die Methode erwartet, dass die ArrayList bestimmte Datentypen und Werte in einer vordefinierten Reihenfolge enthält. Dieser Ansatz opfert die Typprüfung zur Kompilierzeit zugunsten potenzieller Laufzeitfehler. Die Begründung für dieses Design war die Berücksichtigung möglicher zukünftiger Änderungen an der zugrunde liegenden Datenbank, ohne die Methodensignatur zu ändern. Dies umgeht jedoch Standard-Sprachfeatures wie optionale Argumente, die eine sicherere und besser wartbare Lösung geboten hätten. Der Entwickler glaubte fälschlicherweise, dass die Übergabe einer ArrayList auf diese Weise den Code flexibler mache. Dieses Muster der Verwendung von ArrayLists als Parameter-Container ist im gesamten Codebestand verbreitet. Die Alternative von optionalen Parametern hätte Typsicherheit zur Kompilierzeit und eine klarere Absicht geboten. Die aktuelle Implementierung stützt sich auf implizite Annahmen über Datenreihenfolge und -typ, was zu sprödem Code führt. Diese Praxis gilt als Antipattern in der Softwareentwicklung.