Sonst kann ich ja gleich auf eine entsprechende Klasse umschwenken bzw. mit ein entsprechendes Interface dazu bauen.
Du versuchst Records und Generics >100% auszureizen.
Mal angenommen, jemand der vielleicht nur 2 Jahre in der Schule Pascal & Delphi gelernt hat müsste jetzt deinen Code pflegen.
Er liest dann "Dirty Workaround" und sieht jede Menge Zeiger und "wilde Casts".
Könnte mir vorstellen, dass man die
WTFs kaum noch zählen kann.
Nix für ungut, aber mit normalen Klassen wäre der Code besser verständlich und offener für Erweiterungen.
Sehr verständlich, da stimme ich dir schon zu! Aber hier geht es mir primär um die Nutzung der Methoden und den so entstehenden Code so gering wie möglich zu halten -- wenn ich die Möglichkeit habe, das gleiche Ergebnis mit nur einer Zeile Code zu erhalten, dann ziehe ich diese Möglichkeit meist(!) einer anderen vor. Natürlich behalte ich die Les- und Wartbarkeit im Auge! Aber wie viele Nutzer schauen wirklich diese Library an und ändern daran was?
In den meisten Fällen würde ich die voll und ganz zustimmen, dass man hier eine entsprechende Klasse vorziehen und das Array darin kapseln sollte, aber hin und wieder will ich das eben nicht haben, da es einfach zu viel Overhead wäre. Daher strebe ich eben diese Lösung an und sie soll eben auch funktionieren. Trotzdem vielen Dank für deinen Beitrag. Ich denke, dass der Hinweis für viele andere durchaus nützlich ist
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)