Flussi di lavoro · Spirali di griglia in senso orario ×
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
✳Visita una griglia rettangolare in spirale oraria dall’angolo superiore sinistro.
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
Progetto
Verifica dimensioni zero e singole righe o colonne, rifiutando dimensioni fuori da zero a 100 e controllando una visita per coordinata.
Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Modelli
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.
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
Ambiente di sviluppo con IA
Esamina il contratto di output prima di riscrivere il percorso
Quando un percorso alimenta un altro componente, l’ordine dell’output conta quanto le celle visitate. SpiralJuniper è un ambiente di programmazione con IA per Windows per esaminare questa relazione con un modello collegato. Porta nella discussione la funzione di attraversamento e il codice che ne usa l’output, poi descrivi il comportamento che la modifica proposta deve preservare.
Una richiesta di esempio può riguardare un percorso orario su una griglia usato per ordinare celle in un’anteprima. Chiedi all’assistente di esaminare come l’implementazione attuale gestisce rettangoli sottili e se qualche coordinata appare due volte. Fornisci una piccola sequenza attesa, non solo un’immagine. Ciò dà alla possibile modifica un contratto concreto senza presumere che l’ambiente includa un’applicazione di anteprima delle griglie.
Leggi le modifiche proposte insieme al componente utilizzatore. Controlla se cambiano ordine, convenzione delle coordinate o comportamento su griglie vuote ed esegui test del progetto su una singola riga, una singola colonna e un rettangolo. Se l’implementazione diventa più semplice ma cambia la sequenza da cui dipende l’interfaccia, risolvi quella decisione di prodotto prima di accettarla.
SpiralJuniper supporta endpoint di modelli compatibili con OpenAI o di Anthropic. Scegli un modello IA abliterato se disponibile tramite il servizio, con le sue restrizioni e capacità. Contesto e supporto degli strumenti dipendenti dal server influenzano la conversazione sul codice; i tuoi casi di prova e la revisione stabiliscono se la modifica è adatta all’applicazione.
Prima di sostituire un’implementazione di attraversamento
Cosa deve mostrare un caso di prova del percorso atteso?
Elenca le coordinate nell’ordine esatto richiesto dall’utilizzatore, inclusi angolo iniziale e direzione. Un insieme di celle visitate non può rivelare errori di ordinamento. Conserva un piccolo caso rettangolare che un revisore possa esaminare direttamente.
Perché verificare separatamente griglie con una riga e con una colonna?
Possono rivelare aggiornamenti dei limiti che rivisitano le stesse celle o saltano il segmento finale. Includi entrambi i casi nelle verifiche del progetto, insieme al comportamento su griglie vuote atteso dall’interfaccia, prima di accettare una modifica generalizzata del percorso.
Cambiare l’ordine delle coordinate può compromettere un risultato altrimenti corretto?
Sì. Un utilizzatore può interpretare le coppie come riga e poi colonna, mentre una sostituzione restituisce l’inverso. Chiedi al modello di ricostruire come vengono usate le coppie e preserva la convenzione documentata salvo che l’attività ne includa esplicitamente il cambiamento.
Un’anteprima visiva basta per approvare il codice?
Usala per esaminare il risultato visibile all’utente, ma conserva anche test delle sequenze esatte. Un’anteprima può nascondere duplicati o coordinate saltate. Esegui le verifiche esistenti del progetto e confronta la proposta con il contratto scritto del percorso.