Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Raggruppa nodi numerati tramite connessioni non orientate usando insiemi disgiunti.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())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.
Prova nodi isolati, archi ripetuti e grafo vuoto, rifiutando estremi invalidi prima di unire componenti.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())UnionPebble è un ambiente di programmazione con IA per Windows che riunisce un requisito di raggruppamento, il suo codice sorgente e gli utilizzatori in una conversazione di sviluppo. Inizia descrivendo cosa considera connesso l’applicazione e cosa si aspetta di ricevere. Chiedi al modello di esaminare la rappresentazione esistente prima di suggerire modifiche al codice che crea i gruppi.
Come attività concreta, usa components.py per discutere una connessione che unisce due gruppi prima separati. Includi nel caso di prova un nodo isolato e indica l’ordine atteso dell’output. L’esempio aiuta a formulare una richiesta di modifica senza presumere che una collezione matematicamente equivalente soddisfi il serializzatore o il codice di visualizzazione dell’applicazione.
Esamina la proposta in corrispondenza di questi confini. Controlla identificativi di nodo accettati, archi non validi e caso vuoto, poi esegui le verifiche pertinenti del progetto. Un risultato utile dovrebbe spiegare sia perché i membri appartengono allo stesso gruppo sia perché la struttura restituita è adatta a chi la usa. Mantieni le modifiche non pertinenti a memoria o interfaccia fuori da una richiesta destinata a correggere i raggruppamenti.
Collega un modello tramite un endpoint supportato compatibile con OpenAI o di Anthropic, fornendo credenziali quando richieste. Se il servizio offre un modello IA abliterato, è un’opzione per la sessione; le restrizioni restano dipendenti dal fornitore. Anche strumenti disponibili e contesto dipendono da modello e server: limita l’esame ai sorgenti e alle prove che la sessione può effettivamente usare.
Esplicita questa aspettativa. Un elenco di archi può non menzionare mai un nodo isolato, anche se l’applicazione sa che esiste. Includi il numero dichiarato di nodi e un caso isolato affinché il codice proposto non possa scartare silenziosamente tali elementi dal risultato.
Sì, se un utilizzatore dipende da un ordine stabile di serializzazione, confronto o presentazione. Specifica se l’ordine fa parte dell’interfaccia, poi esamina la convenzione di output. L’equivalenza matematica non prova da sola la compatibilità con istantanee o elaborazioni a valle del progetto.
Definisci il comportamento per input rifiutati ed esamina dove viene segnalato. L’esempio valida gli identificativi rispetto al numero dichiarato di nodi. Esamina la risposta del chiamante anziché presumere che un’eccezione da sola comunichi un errore utile a chi ha fornito i dati di raggruppamento.
Scrivi indipendentemente i gruppi iniziali e l’appartenenza attesa dopo l’unione, includendo un gruppo non interessato. Esegui il caso nel codice modificato ed esamina separatamente l’ordine. Così la revisione ha un risultato concreto prima e dopo senza ripetere l’implementazione nel test.
UnionPebble · Aggiornato 2026-10-25