Progetto
Prova ingresso vuoto, righe irregolari e nomi disconnessi, restituendo limiti esclusivi solo se ogni area riempie il proprio rettangolo.
Valida aree rettangolari con identificatori ASCII e celle vuote rappresentate da un solo punto.
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 resultProva ingresso vuoto, righe irregolari e nomi disconnessi, restituendo limiti esclusivi solo se ogni area riempie il proprio rettangolo.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
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 è un ambiente di programmazione con IA per Windows, pensato per sviluppare il codice che collega gli input di layout al comportamento visibile. Apri i file pertinenti del progetto e descrivi cosa dovrebbe poter esprimere chi modifica il layout. Chiedi al modello di esaminare il validatore e il codice che lo chiama prima di modificare uno dei due lati di questa interazione.
Scegli il modello di assistenza tramite un endpoint supportato compatibile con OpenAI o Anthropic e fornisci le credenziali quando richieste. Puoi selezionare un modello IA senza censura se il tuo endpoint ne offre uno. Restrizioni, strumenti supportati e capacità di contesto restano proprietà di quella configurazione, non garanzie associate al lavoro sul layout.
Il controllo della rettangolarità di un'area di griglia CSS è un esempio di richiesta. Porta nella conversazione una griglia valida, una regione con nome non connessa e una riga di larghezza diversa. Chiedi come l'implementazione attuale accetta o rifiuta ciascun caso, poi esamina una modifica proposta che preservi i layout validi e spieghi all'utente quelli non validi.
Esamina insieme il risultato del validatore e la risposta dell'interfaccia. Anche un rifiuto corretto richiede un messaggio utile, mentre un layout accettato dovrebbe raggiungere il percorso di rendering previsto. Esegui i test del progetto, controlla il codice modificato e prova layout rappresentativi nella tua interfaccia prima di decidere che la funzionalità si comporta come specificato.
Verifica prima se la struttura inviata supera la convalida prevista. Se la supera, segui l'output accettato fino al rendering. Chiedi al modello di esaminare entrambi i percorsi con lo stesso caso di prova, invece di modificare il CSS prima di individuare la fase che non funziona.
Solo se è un requisito esplicito del prodotto. La correzione può alterare il layout desiderato. Definisci se l'interfaccia deve rifiutare, spiegare o trasformare l'input ed esamina il codice risultante rispetto al comportamento scelto.
Includi un rettangolo valido, una regione con nome che presenti un vuoto e righe di larghezze diverse. Indica il risultato atteso per ciascuno. Aggiungi il caso minimo che riproduce il tuo problema, così la revisione rimane legata al comportamento segnalato.
Indica i file e i casi di accettazione prima di richiedere il lavoro. Esamina le azioni proposte per gli strumenti: l'inferenza locale richiede un server separato e non rende locali tutti gli strumenti. Verifica l'interfaccia risultante nell'ambiente che usi davvero.
Arevia · Aggiornato 2026-10-25