1. Určete, co znamená „hotovo“.
Požadavek „oprav validátor“ nechává otevřené důležité otázky: povolené typy, krajní hodnoty, převody i rozsah změny. Sepište tyto podmínky do krátkého zadání.
Pro tuto samostatnou ukázku použijeme funkci ověřující počet opakování. Jde o doprovodný příklad, nikoli přepis validátoru z videa.
Cíl: valid_retry_count(value) vrací boolean.
Přijmout: přesně vestavěný typ int, hodnoty 0 až 5 včetně.
Odmítnout: bool, float, řetězce, None a ostatní typy.
Rozsah: validátor a jeho ověřovací případy.
Omezení: zachovat název funkce; nepřidávat závislosti.
Důkazy: uvést provedené kontroly a jejich skutečné výsledky.
Ohraničený rozsah usnadní kontrolu změny. Pokud agent narazí na nesouvisející problém, zaznamenejte ho zvlášť a rozhodněte, zda patří do dalšího úkolu.
2. Pravidlo pro typ napište výslovně.
V Pythonu je bool podtypem int. Výraz isinstance(True, int) proto vrací True. Samotná tato kontrola by přijala hodnotu, kterou naše zadání odmítá. Podrobnosti uvádí dokumentace typů v Pythonu.
def valid_retry_count(value):
return type(value) is int and 0 <= value <= 5
Kontrola type(value) is int zde odpovídá požadavku na přesný vestavěný typ. Odmítne boolean i odvozené třídy integeru. Díky zkrácenému vyhodnocení and se u jiných typů porovnání rozsahu vůbec neprovede.
Pravidla pro typy a převody volte podle skutečného rozhraní. Tato ukázka záměrně nic nepřevádí: "3" i 3.0 odmítne, přestože mohou reprezentovat číslo.
3. Pokryjte hranice a prověřte kontroly.
Vycházejte ze zadání a předem zapište očekávané výsledky. Tabulka obsahuje malou ilustrační sadu; ve videu se pracuje se samostatnou sadou 16 akceptačních případů.
| Vstup | Očekáváno | Důvod |
|---|---|---|
0 | True | Dolní hranice |
5 | True | Horní hranice |
-1 | False | Pod rozsahem |
6 | False | Nad rozsahem |
True | False | Typ boolean |
False | False | Typ boolean |
3.0 | False | Desetinný typ |
"3" | False | Řetězec |
None | False | Chybějící hodnota |
Potom v dočasné lokální kopii zaveďte známou chybu a ověřte, že ji odpovídající kontrola odhalí. Pro tento příklad se hodí čtyři varianty:
- Vyloučit dolní hranici: upravit porovnání tak, aby odmítlo
0. - Vyloučit horní hranici: upravit porovnání tak, aby odmítlo
5. - Přijmout boolean: nahradit přesnou kontrolu typu výrazem
isinstance(value, int). - Potichu převést řetězec: před kontrolou změnit
"3"na integer.
Pokud záměrně chybná varianta projde, najděte chybějící ověřovací podmínku. Kontrola má dokazovat požadované chování, ne pouze opakovat rozhodnutí z implementace.
4. Předejte výsledek s podklady.
Další člověk potřebuje vědět, co se změnilo a o co se závěr opírá. Shrnutí spojte se skutečně provedenou prací:
- Změna: které soubory a jaké chování byly upraveny.
- Důkazy: příkaz, případy a výsledky, které jste opravdu pozorovali.
- Otevřené nálezy: nevyřešené problémy, jejich dopad a další odpovědná osoba.
- Omezení: prostředí nebo chování, které nebylo ověřeno.
Lokální cvičení s validátorem pokrývá malou část připravenosti repozitáře. Při rozšiřování role agenta potřebují přístup k nástrojům, tajné údaje, CI a schvalování produkčních změn vlastní jasná pravidla.
Pokračujte na vlastním repozitáři.
Checklist připravenosti repozitáře zdarma
Projděte instrukce, akceptační kritéria, oddělení tajných údajů, oprávnění nástrojů a schvalování změn. Součástí je upravitelný CSV checklist.
Získat checklist zdarma ↗Kurz AI Coding Guardrails + laby
Pokračujte osmi textovými moduly a čtyřmi praktickými laby pro DevOps a platformní týmy. Navazující videa jsou stále v přípravě.
Prohlédnout placený kurz a obsah ↗Plánujete zavedení v týmu? Probrat připravenost firmy na AI coding agenty →
