Proiect
Testează intrarea goală, rânduri inegale și nume deconectate, returnând limite exclusive doar când fiecare zonă umple dreptunghiul său.
Validează zone dreptunghiulare cu identificatori ASCII și celule goale reprezentate de un singur punct.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultTestează intrarea goală, rânduri inegale și nume deconectate, returnând limite exclusive doar când fiecare zonă umple dreptunghiul său.
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.
import re
def grid_areas(rows):
if type(rows) is not list or any(type(r) is not str for r in rows):
raise ValueError("grid.rows")
if not rows:
return {}
cells = [r.split() for r in rows]
width = len(cells[0])
if not width or any(len(r) != width for r in cells):
raise ValueError("grid.width")
groups = {}
for y, row in enumerate(cells):
for x, name in enumerate(row):
if name == ".":
continue
if not re.fullmatch(r"[A-Za-z_][A-Za-z0-9_-]*", name):
raise ValueError("grid.name")
groups.setdefault(name, []).append((y, x))
result = {}
for name, points in groups.items():
top, bottom = min(y for y,x in points), max(y for y,x in points)+1
left, right = min(x for y,x in points), max(x for y,x in points)+1
if len(points) != (bottom-top)*(right-left):
raise ValueError("grid.rectangle")
result[name] = (top, bottom, left, right)
return resultArevia este un spațiu de lucru Windows pentru programare cu IA, destinat dezvoltării codului care leagă datele machetei de comportamentul vizibil. Deschide fișierele relevante ale proiectului și descrie ce ar trebui să poată exprima persoana care editează macheta. Cere modelului să inspecteze validatorul și codul care îl apelează înainte de a modifica oricare dintre părțile acestei interacțiuni.
Alegi modelul asistent printr-un endpoint compatibil OpenAI sau Anthropic acceptat și furnizezi date de autentificare când sunt necesare. Poți selecta un model IA fără cenzură dacă endpointul tău oferă unul. Restricțiile, instrumentele acceptate și capacitatea contextului rămân proprietăți ale acelei configurații, nu garanții asociate sarcinii de machetare.
O verificare a formei dreptunghiulare a unei zone CSS grid este un exemplu de cerere. Include în conversație o grilă validă, o regiune denumită discontinuă și un rând cu lățime diferită. Întreabă cum acceptă sau respinge implementarea actuală fiecare caz, apoi examinează o modificare propusă care păstrează machetele valide și explică utilizatorului de ce una este nevalidă.
Examinează împreună rezultatul validatorului și răspunsul interfeței. Chiar și o respingere corectă necesită un mesaj util, iar o machetă acceptată trebuie să ajungă la fluxul de randare prevăzut. Rulează testele proiectului, inspectează sursa modificată și încearcă machete reprezentative în propria interfață înainte de a decide că funcția respectă specificația.
Verifică mai întâi dacă structura trimisă trece validarea prevăzută. Dacă da, urmărește rezultatul acceptat până la randare. Cere modelului să inspecteze ambele fluxuri folosind același caz de test, în loc să modifice CSS înainte de a identifica etapa care eșuează.
Numai dacă aceasta este o cerință explicită a produsului. Repararea poate modifica macheta intenționată. Stabilește dacă interfața trebuie să respingă, să explice sau să transforme datele și verifică dacă rezultatul respectă comportamentul ales.
Include un dreptunghi valid, o regiune denumită cu un gol și rânduri de lățimi diferite. Precizează rezultatul așteptat pentru fiecare. Adaugă cel mai mic caz de test care reproduce problema ta, astfel încât analiza să rămână legată de comportamentul raportat.
Numește fișierele și cazurile de acceptare înainte de a solicita lucrul. Examinează acțiunile propuse pentru instrumente, deoarece inferența locală necesită un server separat și nu face toate instrumentele locale. Verifică interfața rezultată în mediul pe care îl folosești efectiv.
Arevia · Actualizat 2026-10-25