ILuvCode
Období: Týden 18/2026 (od 03.05.) Skupina: tria
1. Splnění základních podmínek
| Podmínka | Status |
|---|---|
| Alespoň 3 commity v daném týdnu | ✅ SPLNĚNO |
| Rozestup alespoň 12h mezi 3 commity | ✅ SPLNĚNO |
| Projektová dokumentace (README, projekt.md) | ✅ SPLNĚNO |
Vypočtený Index za tento týden: 246
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 4 |
| Počet změněných souborů | 14 |
| Počet přid./odeb. řádků kódů | 2574 |
Přehled commitů
- 2026-05-04 08:38: App.py updated
- 2026-05-06 14:36: Pridano tlacitko
- 2026-05-07 07:28: Merge branch 'main' of https://github.com/ADamekk67/ILuvCode
- 2026-05-07 08:33: Persist window geometry and simplify UI
Load/save window geometry and simplify settings/UI. Settings handling was refactored to read/update the loaded JSON and the app now sets appearance to dark by default. On close the window geometry is saved to settings and is restored on startup. Removed theme switch and configuration dialog; reduced sidebar width and added an "Add Note" button with an add_note method that places a textbox in the content area. Updated assets/settings.json format (now empty array) — note that the settings schema changed and may require migration for existing settings.
3. Hodnocení asistentem AI (Logika a úsilí)
Ahoj, jsem tvůj pedagogický asistent. Prošel jsem tvou práci za uplynulý týden na projektech Reinforcement Learning a DailYO (05_YO). Zde je mé hodnocení:
1. Smysluplnost popisů u commitů [2 body]
Většina tvých commitů splňuje pravidla. Oceňuji zejména poslední commit 2026-05-07 08:33, který je velmi detailní a vysvětluje provedené změny v UI a logice ukládání. Nicméně první dva commity týdne (App.py updated, Pridano tlacitko) jsou příliš stručné a neříkají nic o tom, proč nebo co přesně se změnilo. Pravidlo 12 hodin mezi povinnými třemi commity jsi dodržel.
2. Smysluplnost komentářů v kódu [4 body]
V kódu se nachází základní komentáře vysvětlující účel funkcí (např. v app.py), což je v pořádku. V projektu ReinforcementLearning jsi však smazal několik užitečných vysvětlujících komentářů u parametrů alpha, gamma a epsilon. Komentování by mělo pomáhat pochopit logiku, ne se jen omezovat na strohý popis "co to dělá". V nové části kódu pro ukládání oken by neuškodilo vysvětlit, proč se používá právě formát geometry.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [1 bod]
Zde mám několik výtek:
- Soubory v rootu: V hlavním adresáři se nacházejí soubory /MapLayout.json a /DataSave.json. Tyto soubory patří do složky projektu 02_ReinforcementLearning. Pravidla jasně říkají, že soubory (i datové) mají být v příslušných složkách projektů.
- Nekonzistence: V README uvádíš název projektu DailYO, ale složka se jmenuje 05_YO.
- Smazání dokumentace: Smazal jsi soubor Q_TABLE_vs_DataSave_EXPLANATION.md, který byl velmi kvalitně zpracovaný. Pokud jsi ho nahradil jinou logikou, měl jsi dokumentaci aktualizovat, ne ji jen odstranit. Dokumentace projektu 04_Sphere je stále velmi strohá.
4. Logika řešení a přemýšlení studenta v Pythonu [4 body]
Tvůj pokus o implementaci perzistence (ukládání stavu okna) je dobrý směr, ale v kódu se objevily kritické chyby, které by způsobily pád aplikace:
- V souboru
05_YO/app.pyinicializuješsettingsjako slovník, ale souborsettings.jsonjsi změnil na prázdný list[]. Příkazsettings.update(loaded_data)zde je chyba skončí chybouTypeError, protože nemůžeš aktualizovat slovník seznamem. - Funkce
save_settingsukládá pouzesettings["WindowSize"]zde je chyba, ale von_closingukládáš souřadnice do klíčewindow_geometry. Při příštím spuštění tedy program data nenajde nebo havaruje, protože struktura JSONu neodpovídá očekávání v__init__. - V
02_ReinforcementLearningjsi přidal pouze jednoduchý přepínač pro výpis (toggle), což je malý posun vzhledem k ambicióznímu cíli projektu.
Celkem získáno bodů: [11 / 20] (55 %)
Tvůj pokrok v UI s customtkinter je vidět, ale musíš si dávat větší pozor na datovou integritu při práci s JSON soubory a na pořádek v kořenovém adresáři repozitáře.
DIFFICULTY_INDEX: [3]