damykk
Období: Týden 10/2026 (od 08.03.) Skupina: tria URL: https://github.com/DamianDampha/damykk.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) | ❌ NESPLNĚNO |
2. Přehled commitů
- 2026-03-08 20:11: Add files via upload
momnetálně si můžeme přidat a zobrazit hesla - 2026-03-08 21:05: Add files via upload
přídano encryptovaní hesel - 2026-03-12 21:40: Naprogramoval jsem hru o hádání čísla - 2026-03-14 19:53: Nakódoval jsem točení automatů - 2026-03-14 19:55: Rename README.md to README_automaty.md - 2026-03-14 19:57: Přidal jsem dokumentaci Number Guesser
3. Výsledky AI analýzy kódu
| Metrika | Hodnota |
|---|---|
| Celkové body (AI) | 10 / 20 b. (50%) |
| Náročnost projektu (Index) | 3 |
| Počet commitů | 6 |
| Změněné soubory | 6 |
| Počet přid./odeb. řádků kódu | 462 |
Komentář a zpětná vazba od AI
Dobrý den, zde je mé hodnocení tvé práce za uplynulý týden. Oceňuji tvou produktivitu, zejména práci na hracím automatu a implementaci šifrování, ale máme zde zásadní nedostatky v organizaci projektu.
1. Smysluplnost popisů u commitů [2 body]
Většina tvých commitů (např. „Nakódoval jsem točení automatů“ nebo „Přidal jsem dokumentaci“) jasně popisuje provedenou změnu. Bod ti však strhávám za opakované používání generické zprávy „Add files via upload“, která nic neříká o tom, co konkrétně se v kódu změnilo. Příště se pokus i přes webové rozhraní psát konkrétnější popisky.
2. Smysluplnost komentářů v kódu [1 bod]
Tady vidím největší slabinu. V souborech gamble.py a Numberguesser.py chybí jakýkoliv komentář vysvětlující logiku (např. jak funguje výpočet výher). V passwordmanager.py jsou pouze zakomentované kusy kódu, které by v čisté verzi měly zmizet. Komentáře slouží k vysvětlení „proč“ se něco děje, nejen „co“ se děje. Jediný náznak dokumentace je v README, což pro hodnocení komentářů přímo v kódu nestačí.
3. Kvalita a srozumitelnost dokumentace a struktura repozitáře [0 bodů]
Zde musím být přísný, protože jsi porušil hlavní pravidlo organizace:
- Struktura: Všechny soubory (/quiz.py, /gamble.py, /passwordmanager.py, /Numberguesser.py) máš naházené volně v hlavní složce (rootu). Každý projekt (např. Password Manager) musí mít svou vlastní složku.
- Dokumentace: README pro automat je sice velmi pěkně zpracované a detailní, ale chyba v organizaci souborů je v této kategorii zásadní. Také ti chybí hlavní README.md celého repozitáře, který by nás provedl tím, co v něm najdeme.
4. Logika řešení a přemýšlení studenta v Pythonu [7 bodů]
Logika tvých programů je na dobré úrovni. Hrací automat (gamble.py) je komplexní, správně používá slovníky pro definici symbolů a rozděluje kód do funkcí. Oceňuji snahu o ošetření vstupů (isdigit()).
V kódu se však vyskytuje několik chyb a nedodělků:
- V souboru passwordmanager.py máš logickou chybu:
user, passw = <span style='color: red;'>data</span>.split ("|") – proměnná data není nikde definována, pravděpodobně jsi chtěl použít proměnnou line.
- V souboru passwordmanager.py u funkce add() máš nadbytečné klíčové slovo pass hned na začátku.
- Šifrování v passwordmanager.py: Spojení klíče ze souboru a hesla od uživatele key = load_key() + master_pwd.encode() je zajímavý nápad, ale knihovna Fernet vyžaduje přesně 32 bajtů v base64 formátu. Pokud uživatel zadá heslo jiné délky, program pravděpodobně spadne.
Celkem získáno bodů: [10 / 20]
Závěrečné shrnutí: Tento týden jsi odvedl velký kus práce na samotném kódování, ale úplně jsi rezignoval na kulturu programování (komentáře a složkovou strukturu). Naprogramovat funkční věc je jen polovina práce programátora – tou druhou je udržovat v projektu pořádek, aby v něm mohl pracovat i někdo jiný. Příští týden se zaměř na roztřídění projektů do složek.
DIFFICULTY_INDEX: [3]
Kontrolní otázka k obhajobě
V souboru
gamble.pyve funkcicheck_winningspoužíváš konstrukcielseodsazenou přímo za cyklemfor– mohl bys mi vysvětlit, za jaké situace se tento blok kódu provede a jak konkrétně jeho spuštění ovlivňuje příkazbreakumístěný o pár řádků výše?