Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Redu unul până la 16 câmpuri Content-Length de maximum 128 de caractere la o valoare comună de la zero la 2147483647.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
Testează liste cu virgule, zerouri inițiale, spații și taburi, respingând elemente goale, semne, linii noi și diferențe fără validare HTTP completă.
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Leniora este un spațiu de programare cu IA pentru Windows destinat întreținerii codului dintre câmpurile de protocol primite și deciziile aplicației. Deschide dosarul sursă relevant și precizează regula de acceptare pe care proiectul intenționează să o impună. Cere modelului conectat să examineze împreună parserul câmpului și apelantul său înainte de a propune o relaxare sau curățare.
O sarcină exemplu privește content_length.py și valori Content-Length repetate. Adu în conversație un set de valori zecimale concordante și unul conflictual, cu răspunsul așteptat pentru fiecare. Analizează modificarea propusă pentru schimbări privind spațiile albe, sintaxa numerică și limitele, deoarece schimbări aparent minore ale parsării pot lărgi contractul intrărilor acceptate.
Continuă analiza în codul care folosește rezultatul parsării. Rulează testele proiectului și examinează tratarea respingerii înainte de continuarea prelucrării corpului. Separă această politică delimitată de afirmații despre o implementare HTTP completă: rezultatul util este o modificare evaluabilă față de comportamentul necesar efectiv aplicației.
Alege un endpoint compatibil OpenAI sau Anthropic acceptat pentru asistența modelului, cu acreditări dacă sunt necesare. Un model IA fără cenzură poate fi selectabil acolo, dar furnizorul determină restricțiile sale reale. Instrumentele disponibile și capacitatea contextului depind de model și server; testele precise ajută discuția de programare să rămână ancorată în aceste limite.
Depinde de politica de acceptare implementată de proiect. Exemplul cere concordanță între valorile zecimale furnizate. Analizează tratarea protocolului din jur înainte de a schimba regula și scrie pentru sesiunea de programare teste atât concordante, cât și conflictuale, cu rezultate așteptate.
Examinează mai întâi formele suplimentare pe care le-ar accepta, inclusiv semne sau alte notații numerice. O funcție de conversie convenabilă poate extinde gramatica. Cere modelului să compare explicit comportamentul acceptării, fără a considera mai puține linii de parsare drept dovadă a unei semantici echivalente.
Urmărește rezultatul parserului până în apelant și precizează răspunsul de eroare necesar. Verifică dacă tratarea corpului poate continua folosind arbitrar una dintre valorile conflictuale. Rulează acea cale în proiect; o excepție arătată izolat nu stabilește fluxul de control din jur.
Furnizează șiruri exacte ale câmpurilor cu descrieri ale spațiilor și tabulatoarelor, plus rezultatul de acceptare așteptat. Evită exemplele care ascund caracterele discutate. Compară testele cu regula declarată de eliminare a spațiilor marginale înainte de a adopta o normalizare mai permisivă.
Leniora · Actualizat 2026-10-25