Fluxuri de lucru · Spirale de grilă în sens orar ×
def spiral(rows, columns):
if any(type(v) is not int or not 0 <= v <= 100
for v in (rows, columns)):
raise ValueError("dimension.range")
top, bottom, left, right = 0, rows - 1, 0, columns - 1
result = []
while top <= bottom and left <= right:
result.extend((top, c) for c in range(left, right + 1))
top += 1
result.extend((r, right) for r in range(top, bottom + 1))
right -= 1
if top <= bottom:
result.extend((bottom, c) for c in range(right, left - 1, -1))
bottom -= 1
if left <= right:
result.extend((r, left) for r in range(bottom, top - 1, -1))
left += 1
return result
✳Vizitează coordonatele unei grile dreptunghiulare în spirală orară din colțul stânga sus.
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
Proiect
Verifică dimensiuni zero și rânduri sau coloane unice, respingând dimensiuni în afara intervalului zero până la 100 și cerând o singură vizită per coordonată.
Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Modele
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.
def spiral(rows, columns):
if any(type(v) is not int or not 0 <= v <= 100
for v in (rows, columns)):
raise ValueError("dimension.range")
top, bottom, left, right = 0, rows - 1, 0, columns - 1
result = []
while top <= bottom and left <= right:
result.extend((top, c) for c in range(left, right + 1))
top += 1
result.extend((r, right) for r in range(top, bottom + 1))
right -= 1
if top <= bottom:
result.extend((bottom, c) for c in range(right, left - 1, -1))
bottom -= 1
if left <= right:
result.extend((r, left) for r in range(bottom, top - 1, -1))
left += 1
return result
Spațiu de programare cu AI
Revizuiește contractul ieșirii înainte să rescrii parcurgerea
Când o parcurgere alimentează altă componentă, ordinea ieșirii contează la fel de mult ca celulele vizitate. SpiralJuniper este un spațiu Windows de programare cu IA pentru revizuirea acestei relații cu un model conectat. Adu în discuție funcția de parcurgere și codul care îi consumă ieșirea, apoi descrie comportamentul pe care modificarea propusă trebuie să-l păstreze.
O cerere exemplificativă poate privi parcurgerea unei grile în sens orar pentru ordonarea celulelor într-o previzualizare. Cere asistentului să inspecteze cum tratează implementarea actuală dreptunghiurile înguste și dacă vreo coordonată apare de două ori. Furnizează o secvență mică așteptată, nu doar o imagine. Aceasta oferă modificării viitoare un contract concret fără să presupună că spațiul de lucru include o aplicație de previzualizare a grilelor.
Citește modificările propuse împreună cu consumatorul. Verifică dacă s-au schimbat ordinea, convenția coordonatelor sau comportamentul grilei goale și execută teste pentru un singur rând, o singură coloană și un dreptunghi. Dacă implementarea devine mai simplă, dar schimbă secvența pe care se bazează interfața, clarifică acea decizie de produs înainte s-o accepți.
SpiralJuniper acceptă endpointuri de modele compatibile cu OpenAI sau Anthropic. Alege un model IA abliterated dacă este disponibil prin serviciul tău, cu propriile restricții și capabilități. Contextul și suportul pentru instrumente, dependente de server, influențează conversația despre cod; cazurile de test și revizuirea ta stabilesc dacă modificarea își are locul în aplicație.
Înainte de înlocuirea unei implementări de parcurgere
Ce trebuie să arate un caz de test pentru parcurgerea așteptată?
Enumeră coordonatele în ordinea exactă cerută de consumator, inclusiv colțul inițial și direcția. O mulțime de celule vizitate nu poate dezvălui greșelile de ordine. Păstrează un caz dreptunghiular mic pe care evaluatorul îl poate inspecta direct.
De ce să verific separat grilele cu un rând și cele cu o coloană?
Pot dezvălui actualizări ale limitelor care revizitează aceleași celule sau omit segmentul final. Include ambele cazuri în verificările proiectului, împreună cu comportamentul grilei goale așteptat de interfață, înainte să accepți o modificare generalizată a parcurgerii.
Poate schimbarea ordinii coordonatelor strica un rezultat altfel corect?
Da. Un consumator poate interpreta perechile drept rând urmat de coloană, în timp ce un înlocuitor returnează invers. Cere modelului să urmărească modul de consum al perechilor și păstrează convenția documentată, dacă sarcina nu include explicit schimbarea ei.
Este suficientă o previzualizare vizuală pentru aprobarea codului?
Folosește-o pentru inspectarea rezultatului vizibil utilizatorului, dar păstrează și teste ale secvenței exacte. O previzualizare poate ascunde duplicate sau coordonate omise. Execută verificările existente ale proiectului și compară propunerea cu contractul scris al parcurgerii.