Wikipedia Diskussion:Lua/Modul/Turnierplan
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Ausgliederung von fillRounds
BearbeitenHallo GregorBungensheim,
Du hast eine Funktion fillRounds ausgegliedert. Hast Du vor, die an anderer Stelle noch mal aufzurufen? --Vollbracht (Diskussion) 15:53, 24. Feb. 2023 (CET)
- Ziel ist es, das komplett auszugliedern, um den Code lesbarer und modularer zu machen. Ich werde sie aber noch sprechender benennen. --GregorBungensheim (Diskussion) 16:00, 24. Feb. 2023 (CET)
- Modularer ist aber nicht besser. Es erweckt den Anschein einer Mehrfachnutzung, die dann nicht stattfindet. Ich meine, ein Code, der eindimensional vollständig sequenziell durchlaufen wird, sollte auch so erkennbar sein. Das ist zwar auch ein winziges Bisschen performanter, erhöht vor allem tatsächlich aber die Wartbarkeit und den Dokumentationsaufwand. Jede einzelne Wiederholung einer Codesequenz hingegen ist für mich Grund genug für eine derartige Ausgliederung. Verständlicher wird der Code, wenn Du jede Codesequenz kommentierst. Reintegrierst Du das wieder? --Vollbracht (Diskussion) 16:49, 24. Feb. 2023 (CET)
- Hier liegen wir gar nicht weit auseinander, wie Du an der reseeding-Logik siehst habe ich pro Performance auch Code geschrieben der "von oben nach unten" durchlaufen wird. Ob das wartbarer ist? Eher nicht, aber da es sich hier um eine in sich abgeschlossene Logik handelt, fand ich den Ansatz gerechtfertig. Anders sehe ich es bei fillRounds, wo Performance vernachlässigbar ist. Klare abgeschlossene Zuständigkeit sollten meiner Ansicht nach so benannt und behandelt werden. Die Wartbarkeit sehe ich dadurch im Gegenteil deutlich erhöht, da kleinere in sich schlüssige Funktionen für sich geändert werden können und Quereffekte minimiert werden. Ich werde daher auch das ganze preProcessing der args komplett auslagern, so wie dies bei anderen Modulen auch der Fall ist. Ich hoffe sehr, Du kannst hier mitgehen.
- Modularer ist aber nicht besser. Es erweckt den Anschein einer Mehrfachnutzung, die dann nicht stattfindet. Ich meine, ein Code, der eindimensional vollständig sequenziell durchlaufen wird, sollte auch so erkennbar sein. Das ist zwar auch ein winziges Bisschen performanter, erhöht vor allem tatsächlich aber die Wartbarkeit und den Dokumentationsaufwand. Jede einzelne Wiederholung einer Codesequenz hingegen ist für mich Grund genug für eine derartige Ausgliederung. Verständlicher wird der Code, wenn Du jede Codesequenz kommentierst. Reintegrierst Du das wieder? --Vollbracht (Diskussion) 16:49, 24. Feb. 2023 (CET)
Abgesehen davon halte ich es aktuell für wichtiger, fehlende Features zu implementieren, da zum Beispiel rundenspezifische Header der Ansetzungen momentan nicht möglich sind. Header auf fehlende Ansetzungen sind überhaupt nicht möglich, was bei laufenden Wettbewerben aber durchaus gewünscht ist. Auch die Vereinheitlichung der grundlegend abweichenden Algorithmen von festen Plänen (rekursiver Aufbau) und variablen mit Reseeding (chronologischer Aufbau) würde ich vorrangig angehen wollen. --GregorBungensheim (Diskussion) 20:32, 24. Feb. 2023 (CET)
Umfangreiche Änderungen an der Schnittstelle
BearbeitenHallo GregorBungensheim,
Du hast umfangreiche Änderungen an der Schnittstelle vorgenommen. Unter anderem hast Du die Möglichkeit entfernt, aus anderen Modulen heraus hier Tabellen als Parameter zu übergeben. Kannst Du vielleicht eine Spezifikation schreiben, in der das niedergelegt wird, was hinterher gehen soll? --Vollbracht (Diskussion) 16:28, 24. Feb. 2023 (CET)
- Spezifikation kann ich machen. Die Schnittstellenänderung nach außen war nur kurzzeitig und ist bereits wieder wie zuvor. Durch die Änderungen werden bei numerischen Rundenangaben nun wieder die vordefinierten Namen herangezogen (siehe Beispiele in der Doku). Außerdem habe ich die Berücksichtigung des bereits in Verwendung befindlichen Parameters für den Name des Finales (leider noch ohne Doku) nun wieder hergestellt. --GregorBungensheim (Diskussion) 16:49, 24. Feb. 2023 (CET)
- Ich hab Dir die Seiten schon mal angelegt. Frohes Schaffen... --Vollbracht (Diskussion) 16:51, 24. Feb. 2023 (CET)