
Codacy MCP
Integra FlowHunt con Codacy MCP Server per automatizzare la gestione della qualità del codice, semplificare le revisioni e applicare standard di codifica coeren...

Scopri le migliori pratiche per combinare TDD con agenti di codifica AI come Windsurf e Claude 3.5 Sonnet per automatizzare e ottimizzare il tuo processo di sviluppo software.
Alla sua base, il TDD ruota attorno a un processo ciclico noto come Red-Green-Refactor. Il ciclo inizia con la fase “Red”, in cui lo sviluppatore scrive un test automatizzato che definisce una funzionalità o un comportamento desiderato. Questo test viene intenzionalmente scritto per fallire inizialmente, poiché il codice corrispondente non esiste ancora. Questo fallimento iniziale è fondamentale perché garantisce che il test stia effettivamente testando la funzionalità prevista e possa rilevare errori una volta che il codice viene implementato.
La successiva fase “Green” prevede la scrittura della minima quantità di codice necessaria per far superare il test precedentemente fallito. Questo principio incoraggia gli sviluppatori a concentrarsi sul requisito immediato definito dal test, mantenere un codice pulito ed evitare over-engineering.
Infine, la fase “Refactor” si concentra sul miglioramento della struttura, leggibilità e manutenibilità sia del codice di test che di produzione, assicurandosi che tutti i test esistenti continuino a passare. La rifattorizzazione garantisce che il codebase rimanga sano e adattabile a futuri cambiamenti senza introdurre regressioni, con la suite di test esistente che funge da rete di sicurezza durante questa fase.
Sono molti i fattori che influenzano le prestazioni degli agenti AI durante la scrittura del codice. Dal modello LLM a come strutturi il tuo codice e la pipeline di sviluppo. Abbiamo scoperto che il TDD è efficace con Windsurf e Claude 3.5 sonnet. Di seguito un esempio di task implementato in TDD.
Prima di iniziare a scrivere codice, occorrono le seguenti cose:
Assicurati di avere già dei test secondo il TDD e che coprano la maggior parte dello scope del problema che ritieni logico e utile per l’agente AI. Non è necessario cambiare o personalizzare nulla per l’agente AI. Se i tuoi test e la loro convenzione di naming si basano su uno standard, è meglio. Come primo passo, l’agente AI vedrà questi test per iniziare a implementare.
Ecco un esempio di test che possiedo e che verifica se un documento è stato correttamente inserito in MongoDB:

Un’Interfaccia in Java (o in qualsiasi altro linguaggio di programmazione) è una struttura che definisce come dovrebbero essere le classi e quali metodi dovrebbero implementare. Per guidare ulteriormente l’agente AI, può essere utile creare un’Interfaccia per il tuo repository che inserisce i documenti:


Infine, ci serve una descrizione specifica del task. Solitamente puoi usare JIRA o le issue di GitHub dove definisci il compito. Ecco la nostra:

Il vibe coding significa che descrivi ciò di cui hai bisogno in inglese semplice (o anche con comandi vocali), e l’AI genera il codice per te in tempo reale. Approfondiamo il Vibe Coding in questo blog. Ecco il prompt che ho utilizzato in Windsurf per completare il task:

Implementa la seguente query come combinazione di una o più named query e codice Java.
Trova tutti i driver che hanno completato almeno X corse con una valutazione superiore a 5 in un determinato intervallo di date e che non hanno mai ricevuto una valutazione inferiore a 3 stelle.
Nota:
Non è necessario trovare una singola query per risolvere questo compito (puoi usare una combinazione di codice Java e named query), ma devi tenere conto delle prestazioni ORM, cioè assicurarti che la soluzione sia ragionevolmente veloce anche con molte entità. Durante la sessione di discussione dovresti essere in grado di spiegare quali tipi di problemi possono sorgere con query scritte male.
@Ass1_2_2Test.java#L35-60questi sono i test corrispondenti. È implementato in@DriverDAO.java#L34-63
Menzionare i file è l’aspetto più importante durante il vibe coding. Ora rilassati e guarda l’agente AI fare la sua magia. Ha implementato la Classe, eseguito i test e reiterato per farli passare:

Yasha è un talentuoso sviluppatore software specializzato in Python, Java e machine learning. Yasha scrive articoli tecnici su AI, prompt engineering e sviluppo di chatbot.

Scopri come i flow engineer AI di FlowHunt e gli agenti di codifica possono automatizzare il tuo processo di sviluppo per massima efficienza e innovazione.

Integra FlowHunt con Codacy MCP Server per automatizzare la gestione della qualità del codice, semplificare le revisioni e applicare standard di codifica coeren...

Scopri come GPT-5 Codex rivoluziona lo sviluppo software con avanzate capacità di coding agentico, esecuzione autonoma di task per 7 ore e funzioni di code revi...

Integra FlowHunt con Terraform Cloud per automatizzare la gestione dell'infrastruttura, aumentare la sicurezza e ottimizzare i flussi di lavoro DevOps tramite a...
Consenso Cookie
Usiamo i cookie per migliorare la tua esperienza di navigazione e analizzare il nostro traffico. See our privacy policy.