Luros
Období: Týden 11/2026 (od 15.03.) 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: 276
Týdenní Index Náročnosti dodaných skriptů (1-5): 3
2. Kvantitativní přehled úprav
| Metrika | Hodnota |
|---|---|
| Počet všech commitů | 6 |
| Počet změněných souborů | 4 |
| Počet přid./odeb. řádků kódů | 64 |
Přehled commitů
- 2026-03-16 07:13: odstranen chybny kod
- 2026-03-16 07:19: upraveno README.md
- 2026-03-16 07:38: vytvoren novy projekt
- 2026-03-16 09:03: delete
- 2026-03-18 18:29: Přidána kontrola prázdného vstupu
- 2026-03-21 09:26: přidány odkazy a oprava mazání textu
3. Hodnocení asistentem AI (Logika a úsilí)
Ahoj! Jako tvůj asistent jsem prošel tvůj repozitář a kód za uplynulý týden. Je vidět, že jsi udělal velký kus práce, zejména na projektu vyhledávače receptů. Oceňuji tvou snahu o profesionální přístup k GUI a práci s externími daty.
Zde je tvé hodnocení:
1. Smysluplnost popisů u commitů [2 body]
Většina tvých commitů je jasná a popisuje, co se v kódu změnilo (např. "Přidána kontrola prázdného vstupu"). Nicméně commit s názvem "delete" je naprosto nevypovídající. Příště se pokus i u mazání kódu specifikovat, co a proč jsi odstranil (např. "odstranění nepoužívané funkce pro výpis do terminálu").
2. Smysluplnost komentářů v kódu [6 bodů]
V této oblasti jsi odvedl skvělou práci. Komentáře v souboru recepty.py jsou věcné, vysvětlují logiku (např. přepínání stavu disabled u Textboxu) a pomáhají v orientaci v kódu. Zvláště oceňuji komentář u ziskej_odkaz, který jasně definuje účel nové funkce.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [2 body]
Struktura repozitáře je příkladná. Každý projekt má svou složku, soubory v kořenovém adresáři jsou tam, kde mají být (.gitignore, README.md). Dokumentace v _projekt.md souborech je na vysoké úrovni – obsahuje cíle, technický popis i návod na spuštění, což je přesně to, co se v praxi vyžaduje.
4. Logika řešení a přemýšlení studenta v Pythonu (progrese kódu) [6 bodů]
Udělal jsi velký pokrok. Implementace customtkinter a práce s API (včetně ošetření chyb pomocí try-except) je na středoškoláka velmi dobrá úroveň. Velmi chválím nápad se zamykáním Textboxu (state="disabled"), aby uživatel nemohl přepisovat výsledky.
Našel jsem však zásadní logickou chybu v interakci funkcí:
* Ve funkci po_kliknuti voláš nejdříve recepty = hledej_recepty(ingredience).
* Pokud v hledej_recepty nastane chyba (např. výpadek internetu), funkce vypíše chybu do boxu a vrátí prázdný seznam.
* Jenže hned potom v po_kliknuti následuje příkaz vysledky.delete("1.0", "end") zde je chyba. Tento příkaz smaže chybovou hlášku, kterou jsi tam před milisekundou nechal vypsat, takže uživatel nic neuvidí. Promazání textového pole by mělo proběhnout před voláním vyhledávací funkce.
* Dále u kontroly prázdného vstupu vysledky.insert("end", "Zadej prosím ingredience!\n") zde je chyba – chybí zde promazání předchozích výsledků, takže pokud uživatel klikne vícekrát, varování se bude kupit pod sebe.
Celkem získáno bodů: [16 / 80%] ze 20 možných
Slovní zhodnocení:
Tvůj projekt se posouvá správným směrem. Použití python-dotenv pro API klíč (jak zmiňuješ v dokumentaci) je skvělá praktika pro bezpečnost. Pokud opravíš pořadí mazání textu v GUI, bude aplikace plně funkční a profesionální. Jen tak dál!
DIFFICULTY_INDEX: [3]