Detail reportu: Titan

Týden 13/2026 (od 29.03.) – Výsledky AI analýzy a hodnocení odevzdaného kódu.

📁 Archiv-2026
Zpět

Titan

Období: Týden 13/2026 (od 29.03.) Skupina: tria URL: https://github.com/viktordamek-lang/Titan.git

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

2. Přehled commitů

3. Výsledky AI analýzy kódu

Metrika Hodnota
Celkové body (AI) 14 / 20 b. (70%)
Náročnost projektu (Index) 4
Počet commitů 3
Změněné soubory 5
Počet přid./odeb. řádků kódu 1036

Komentář a zpětná vazba od AI

Ahoj, jsem tvůj asistent pro výuku Pythonu. Prošel jsem tvůj repozitář a kód za uplynulý týden. Je vidět, že jsi udělal velký kus práce, zejména v oblasti uživatelského rozhraní a bezpečnosti kódu. Tady je tvé hodnocení:

1. Smysluplnost popisů u commitů [1 bod]

Popisy tvých commitů jsou bohužel velmi strohé a málo popisné. Slovní spojení jako „uprava programu“ nebo „vylepseni programu“ mi neříká, co konkrétně jsi v kódu změnil (např. „přidána historie výpočtů“ nebo „implementace bezpečného vyhodnocování výrazů“). Třetí commit obsahuje překlep: „zvyseni konfortu pro uzivatele“. Příště se snaž být konkrétnější.

2. Smysluplnost komentářů v kódu [5 bodů]

Komentáře v kódu jsou na dobré úrovni. Oceňuji, že vysvětluješ, proč používáš normalizaci textu (.lower()) nebo jak funguje vkládání historie do vstupního pole. Pomáhá to v orientaci v logice programu. Trochu mi chybí komentář u pokročilejší části s modulem ast, kde by bylo dobré vysvětlit, proč je tato metoda bezpečnější než klasický eval().

3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [0 bodů]

V této kategorii musím body strhnout kvůli porušení základních pravidel organizace projektu: * Soubory v rootu: V hlavní složce máš volně soubory /Kalkulator, /chat_log.txt a /vymazani zvuku.py. Každý projekt (kalkulačka, chatbot, převodník) musí mít svou vlastní složku. * Názvy souborů: Soubor /vymazani zvuku.py obsahuje mezeru, což je v programování nepřípustné (používej podtržítka). Složka /konventor obsahuje překlep (správně konvertor). * README.md: Obsah README je kvůli podivnému formátování (mezery mezi každým písmenem) prakticky nečitelný. Projektová dokumentace v .md souborech je sice podrobná, ale nerespektování struktury složek je zásadní chyba.

4. Logika řešení a přemýšlení studenta v Pythonu [8 bodů]

Tady tě musím pochválit, tvůj pokrok v programování je znát: * Bezpečnost: Použití ast.parse a ast.walk pro vytvoření bezpečného vyhodnocovače matematických výrazů (safe_eval_math) je vynikající a ukazuje, že o problémech (jako je nebezpečný eval) přemýšlíš do hloubky. * Refaktoring: Přechod od dlouhých řetězců if-elif k slovníku funkcí (simple_responses) v metodě handle_command je známkou pokročilejšího psaní kódu (tzv. clean code). * GUI: Rozdělení na hlavní okno a Toplevel okno pro chatovací režim je logické a funkční. * Logika: Implementace historie příkazů i historie kalkulačky zvyšuje užitnou hodnotu programu.

Celkem získáno bodů: [14 / 70%] ze 20 možných


DIFFICULTY_INDEX: [4]

Kontrolní otázka k obhajobě

V metodě safe_eval_math pomocí modulu ast kontroluješ typy uzlů a explicitně zakazuješ ast.Call – mohl bys mi vysvětlit, jaké konkrétní bezpečnostní riziko by hrozilo, kdybys v zadávaném matematickém výrazu volání funkcí povolil?