Project
Test lege invoer, ongelijke rijen en losstaande naamgroepen en geef alleen exclusieve grenzen terug als elk gebied zijn rechthoek vult.
Controleer rechthoekige rastergebieden met ASCII-namen en enkele punten als lege cellen.
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 resultTest lege invoer, ongelijke rijen en losstaande naamgroepen en geef alleen exclusieve grenzen terug als elk gebied zijn rechthoek vult.
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
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 is een AI-programmeeromgeving voor Windows waarin je code ontwikkelt die lay-outinvoer met zichtbaar gedrag verbindt. Open de relevante projectbestanden en beschrijf wat degene die de lay-out bewerkt moet kunnen uitdrukken. Vraag het model de validator en de aanroepende code te onderzoeken voordat je een van beide kanten van die interactie wijzigt.
Je kiest het ondersteunende model via een ondersteund OpenAI-compatibel of Anthropic-endpoint en verstrekt waar nodig inloggegevens. Je kunt een AI-model zonder censuur selecteren als je endpoint dat aanbiedt. De beperkingen, toolondersteuning en contextcapaciteit blijven eigenschappen van die configuratie, geen garanties die bij de lay-outtaak horen.
Een controle op rechthoekige gebieden in een CSS-grid is één mogelijk verzoek. Voeg een geldig grid, een niet-aaneengesloten benoemd gebied en een rij met afwijkende breedte aan het gesprek toe. Vraag hoe de huidige implementatie elk geval accepteert of afwijst. Beoordeel vervolgens een voorgestelde wijziging die geldige lay-outs behoudt en de gebruiker uitlegt waarom een lay-out ongeldig is.
Beoordeel het validatorresultaat en de reactie van de interface samen. Ook een terechte afwijzing vraagt om een bruikbare melding, en een geaccepteerde lay-out moet het bedoelde renderpad bereiken. Voer projecttests uit, inspecteer de gewijzigde broncode en probeer representatieve lay-outs in je eigen interface voordat je vaststelt dat de functie volgens de specificatie werkt.
Controleer eerst of de aangeleverde structuur de bedoelde validatie doorstaat. Zo ja, volg dan de geaccepteerde uitvoer naar het renderproces. Vraag het model beide paden met hetzelfde testgeval te onderzoeken, in plaats van CSS te wijzigen voordat de falende stap is gevonden.
Alleen als dat een expliciete producteis is. Herstel kan de bedoelde lay-out veranderen. Bepaal of de interface de invoer moet afwijzen, toelichten of transformeren, en beoordeel de resulterende code op dat gekozen gedrag.
Neem een geldige rechthoek, een benoemd gebied met een gat en rijen met verschillende breedtes op. Vermeld voor elk geval het verwachte resultaat. Voeg het kleinste testgeval toe dat je eigen probleem reproduceert, zodat de beoordeling bij het gemelde gedrag blijft.
Benoem de bestanden en acceptatiegevallen voordat je om werk vraagt. Beoordeel voorgestelde toolacties: lokale modelinferentie vereist een afzonderlijke server en maakt niet alle tools lokaal. Verifieer de resulterende interface in de omgeving die je daadwerkelijk gebruikt.
Arevia · Bijgewerkt 2026-10-25