ILuvCode
Období: Týden 19/2026 (od 10.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: 282
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 3 |
| Počet změněných souborů | 2 |
| Počet přid./odeb. řádků kódů | 167 |
Přehled commitů
- 2026-05-11 08:38: Making a right click function
- 2026-05-12 20:34: Add context menu and node placeholders
Update project docs and app to prototype a right-click context menu and basic node management. Changes in 05_YO_projekt.md rename the project to "YO", update description, list new features (context menu items: New Node, Nodes List, Remove Node, Settings), and document prototype status. In app.py: bump version to v0.1.7, change default window size to 1200x600, import tkinter, prefer assets/icon.ico, print a warning if icon missing, add a global nodes list, create a tk.Menu-based context menu bound to right-click, and implement qm_new_node and qm_remove_node placeholders (with console output for other menu items). These changes scaffold interactive behavior and note next steps (node visualization and persistent settings). - 2026-05-14 08:37: Update app.py
3. Hodnocení asistentem AI (Logika a úsilí)
Dobrý den, jako tvůj pedagogický asistent jsem prošel tvou práci na projektu YO (dříve DailYO) a dalších souborech v repozitáři za uplynulý týden. Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [3 body]
Splněno. Provedl jsi 3 commity, mezi kterými byl časový rozestup více než 12 hodin, čímž jsi splnil zadání. Zvláště oceňuji commit 2026-05-12 20:34, který obsahuje velmi detailní popis změn (tzv. "extended description"), což je v praxi skvělý zvyk. Ostatní popisy jako "Update app.py" jsou sice stručnější, ale v kontextu tvé aktivity akceptovatelné.
2. Smysluplnost komentářů v kódu [5 bodů]
Kód v souboru app.py je komentován dostatečně. Oceňuji rozdělení sekcí pomocí komentářových bloků (např. # Quick menu functions) a vysvětlení jednotlivých parametrů u kontextového menu. Body strhávám za to, že některé komentáře pouze popisují zjevné (např. # app version), zatímco u komplexnějších částí, jako je self.context_menu.grab_release(), by si začátečník zasloužil vysvětlení, proč je to nutné (uvolnění zaměření myši).
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [1 bod]
Dokumentace v 05_YO_projekt.md je na velmi vysoké úrovni. Máš tam jasně definované cíle, použitou technologii i aktuální stav projektu.
Vážnou výtku mám však ke struktuře repozitáře:
- V rootu (hlavní složce) se ti povalují soubory /MapLayout.json a /DataSave.json. Tyto soubory by měly patřit do konkrétní složky projektu (např. k Reinforcement Learning).
- V repozitáři máš složky __pycache__. Tyto soubory (zkompilovaný Python kód) do verzovacího systému nepatří. Příště je přidej do souboru .gitignore.
Za tyto prohřešky proti pravidlu o adresářové struktuře strhávám 1 bod.
4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]
V uplynulém týdnu jsi udělal pěkný pokrok v GUI. Implementace kontextového menu přes tk.Menu v kombinaci s customtkinter je správný přístup, protože CTK nativní kontextové menu nemá. Použití pathlib pro cesty je profesionální.
V kódu jsem však narazil na logickou chybu v souboru app.py (verze z 14. 5.):
def qm_new_node(self):
dialog = ctk.CTkInputDialog(title="New Node", text="Enter node name:")
name = dialog.get_input()
nodes.append(name) # Add the new node to the list
print(f"Created new node: {name}")
<span style='color: red;'>for node in nodes:</span>
<span style='color: red;'>print(f"Node: {node}")</span>
Tento cyklus for je odsazen chybně – nachází se mimo jakoukoliv funkci (na úrovni metod třídy), což způsobí chybu při spuštění, protože se snaží vykonat kód v těle třídy, který není v metodě. Navíc proměnná nodes je globální, což v objektovém programování není ideální (měla by být spíše self.nodes).
Celkem získáno bodů: [17 / 85%] z 20 možných
Slovní hodnocení:
Práce na projektu YO se mi líbí. Přechod od jednoduchého okna k interaktivnímu prototypu s menu a dialogy je logický a progrese v kódu je jasně vidět. Pokud si pohlídáš pořádek v kořenové složce repozitáře a opravíš drobné chyby v odsazování, bude to skvělé. Oceňuji také plynulé verzování verzí (v0.1.5 -> v0.1.7).
DIFFICULTY_INDEX: [3]