Wikipedia Diskussion:Lua/Modul/Turnierplan

Letzter Kommentar: vor 1 Jahr von GregorBungensheim in Abschnitt Ausgliederung von fillRounds
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Ausgliederung von fillRounds Bearbeiten

Hallo 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)Beantworten

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)Beantworten
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)Beantworten
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.

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)Beantworten

Umfangreiche Änderungen an der Schnittstelle Bearbeiten

Hallo 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)Beantworten

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)Beantworten
Ich hab Dir die Seiten schon mal angelegt. Frohes Schaffen... --Vollbracht (Diskussion) 16:51, 24. Feb. 2023 (CET)Beantworten