Closed emkael closed 6 years ago
Wydłubałem tyle: https://github.com/emkael/aktywator/tree/rrb-names
Gałąź jest mocno eksperymentalna, podbiłem numer wersji do 1.1.0-beta i chcę się na razie wstrzymać ze scaleniem do głównej gałęzi, przynajmniej do czasu zmobilizowania jakichś jeleni testerów.
Skrót tego, co się dzieje w gałęzi:
Tournament
zmieniła się w MySQLTournament
, z której następnie wywaliłem wszystkie fragmenty specyficzne dla konkretnego programu - do podklas ParyTournament
i TeamyTournament
. W klasie MySQLTournament
pozostała logika listowania baz MySQL i rozpoznawania, które z nich są bazami JFR.Tournament
, której podklasami są MySQLTournament
i nowo utworzona RRBTournament
. Lista nazwisk przekazywana jest do miejsca, w którym dotychczas nazwiska były zapisywane do BWSa w całości, na raz, jako słownik indeksowany numerami par. W efekcie - również z bazy MySQL nazwiska pobierane są na raz, jednym zapytaniem. To przy okazji ułatwiło wykrywanie braków, no i odciążyło bazę (zapytania rzędu kilkuset wierszy wyniku nie powinny stanowić problemu - a kilkaset zapytań po jednym/dwóch wierszach już mogło).Pytania, które fajnie byłoby wyjaśnić lub przedyskutować:
PlayerNumbers
zamiast wypełnianie tabeli PlayerNames
. To oznacza, że ustawienie BM2NameSource
musi mieć wartość 2
- ale nie spotkałem w czasie testów BWSa, który miałby ustawioną inną wartość (bo taka wartość jest ustawiana przy zapisywaniu opcji i konwersji BWSa w samym Aktywatorze). Nie jestem pewien, czy nie należałoby ustawiać jej na właściwą wartość zawsze przy wgrywaniu nazwisk, niezależnie od ufania, że ta wartość już się znajduje w BWSie.Paczka z testową wersją, z mojego repo: https://github.com/emkael/aktywator/releases/tag/v1.1.0-beta
W ramach tego, co wynika z dyskusji z #9, koniecznie trzeba sprawdzić, czy pkt. 2. z pytań powyżej nie psuje czegoś w teamach.
Nie przeglądałem kodu, ale z opisu (o tej dodatkowej warstwie abstrakcji) założenia wyglądają ładnie.
Nie potrafię odpowiedzieć na zadane pytania :)
Myślę, że heurystyka, że łańcuch znaków do spacji jest imieniem, jest bardzo dobra.
Przymierzam się do dopisania wczytywania nazwisk z RRB.
Pytania:
Integrować w jakikolwiek sposób z istniejącym interfejsem nazwisk z Par/Teamów?
Mówię tu o zachowaniu opcji "Synchronizuj teraz", "Wymuś przesłanie wszystkich" i "Synchronizuj cyklicznie". To by wymagało pewnie wprowadzenia jakiejś warstwy abstrakcji dla listy spisu nazwisk, żeby logika prawej części panelu pozostała bez zmian, a jedynie w lewej części panelu wczytywać informacje z .rrt zamiast MySQLa.
RRB oczywiście nie trzyma osobno imienia i nazwiska zawodnika. To sprawia, że trzeba zgadywać przy skracaniu imienia do inicjału.
W CEZaRze są trzy pozycje zawierające spację w nazwisku (tj. więcej niż jedno słowo w nazwisku) oraz nikogo, kto by miał spację w imieniu - strzelam, że dlatego, że drugie imiona są trzymane osobno i nie wystawiane w CSVce. Narzuca się więc traktowanie ciągu do pierwszej spacji jako imienia, a całej reszty jako nazwiska.
Spotkaliście się kiedyś z jakimś przypadkiem upartego uczestnika, który upierałby się przy wyświetlaniu go w wynikach jako "Anna Maria", "Jan Maria", "Jan Paweł", czy cokolwiek?
Przy okazji patrzenia w nietypowe nazwiska, okazało się, że przydałoby się również podmienić poczciwą metodę bezOgonkow na coś, co nie będzie sprawiać problemów przy okazji różnych Jørgensenów.