BBracketMast
Pracovní prostředí s AI pro kód

Hloubka vnoření závorek

Najdi největší hloubku textu tvořeného pouze kulatými, hranatými a složenými závorkami.

● ● ●BracketMast●
Pracovní postupy · Hloubka vnoření závorek ×
def bracket_depth(text):
    if type(text) is not str:
        raise ValueError("bracket.type")
    stack, peak = [], 0
    pairs = {')': '(', ']': '[', '}': '{'}
    for char in text:
        if char in "([{":
            stack.append(char)
            peak = max(peak, len(stack))
        elif char in pairs:
            if not stack or stack.pop() != pairs[char]:
                raise ValueError("bracket.order")
        else:
            raise ValueError("bracket.alphabet")
    if stack:
        raise ValueError("bracket.unclosed")
    return peak
✳Hloubka vnoření závorek
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
  1. Před použitím zkontrolujte

    Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.

  2. Modely

    Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.

  3. Projekt

    Přijmi prázdný text s hloubkou nula, ale odmítni křížené páry, nespárované závorky a všechny ostatní znaky včetně mezer.

Pracovní postupy

Hloubka vnoření závorek

Pracovní postupy ↗
Pracovní postupy
def bracket_depth(text):
    if type(text) is not str:
        raise ValueError("bracket.type")
    stack, peak = [], 0
    pairs = {')': '(', ']': '[', '}': '{'}
    for char in text:
        if char in "([{":
            stack.append(char)
            peak = max(peak, len(stack))
        elif char in pairs:
            if not stack or stack.pop() != pairs[char]:
                raise ValueError("bracket.order")
        else:
            raise ValueError("bracket.alphabet")
    if stack:
        raise ValueError("bracket.unclosed")
    return peak
Pracovní prostředí s AI pro kód

Zpřehledněte validační pravidla pro další volající kód

BracketMast přináší vývoj s pomocí AI do prostředí Windows, kde složka projektu zůstává propojena s konverzací o jeho kódu. Použijte jej, když změna validace vyžaduje větší přesnost než pouhý požadavek na ošetření chybných vstupů. Popište přijímaný jazyk, chybové podmínky a to, co má volající kód obdržet, a pak požádejte asistenta o kontrolu stávající implementace před návrhem opravy.

Úkol týkající se bracket_depth.py se může zaměřit na to, zda vstup obsahuje pouze podporované závorky, zda mají platné pořadí a co znamená prázdná hodnota. Požádejte o úpravu a příklady, které tato rozhodnutí ukážou. Sledujte funkci i kód, který ji volá: změna přijímané abecedy může změnit chování, i když vyvážené vstupy nadále fungují. Kontrola validace se tak týká smluveného chování aplikace, nikoli jediné úspěšné ukázky.

Po kontrole návrhu spusťte projektové kontroly přijímaných řetězců, předčasně uzavřených závorek a nedokončeného vstupu. Pomocí selhání zpřesněte požadavek a zachovejte dohodnuté chování při chybách. BracketMast se připojuje k podporovaným koncovým bodům kompatibilním s OpenAI nebo ke koncovým bodům Anthropic, s přihlašovacími údaji tam, kde jsou nutné. Pokud váš koncový bod nabízí model označený jako neomezený, můžete jej vybrat; podmínky poskytovatele stále platí a limity kontextu i nástroje závisí na modelu a serveru. Vaše testy ověřují, zda výsledný kód dodržuje smluvené chování.

Rozhodování o tom, co má validátor přijímat

Mají se nepodporované znaky ignorovat, nebo odmítat?

Rozhodněte vědomě podle smluveného chování volajícího kódu. Validátor řetězců obsahujících pouze závorky je může odmítat, zatímco analyzátor zdrojového kódu potřebuje jiná pravidla. Vysvětlete tento rozdíl asistentovi před přijetím změny, která nečekané znaky tiše přeskakuje.

Jak se má zpracovat prázdná hodnota?

Určete, zda je v aplikaci platná, chybějící, nebo chybná. Potom ověřte výsledek funkce i jeho interpretaci volajícím kódem. Pravidlo pro prázdný vstup by nemělo vzniknout náhodným chováním smyčky.

Jaký je rozdíl mezi chybovou zprávou a smluveným chováním při chybě?

Smluvené chování zahrnuje podmínku selhání, způsob jeho vyjádření i následnou reakci volajícího kódu. Posuzujte tato rozhodnutí společně; pouhé zlepšení formulace může v aplikaci ponechat nekonzistentní návratové hodnoty nebo neošetřenou výjimku.

Mohu validátor znovu použít po změně přijímaného vstupu?

Nejprve prověřte ostatní místa, která jej volají. Širší přijímaná abeceda nebo jiný typ chyby mohou ovlivnit kód spoléhající na původní chování. Před opětovným použitím upravené pomocné funkce výslovně stanovte kompatibilitu a přidejte kontroly těchto závislostí.

Stáhnout pro Windows ↗

BracketMast · Aktualizováno 2026-10-25