Tre Java Champion con oltre un decennio di esperienza hanno raccontato come usano GitHub Copilot per il lavoro in produzione e nell’open source. I loro esempi spaziano dalla realizzazione di funzionalità e dalla migrazione di materiali didattici alla ricerca di bug. Nei diversi approcci, sottolineano che l’IA può accelerare l’esecuzione, ma gli sviluppatori devono comunque fornire il contesto, verificare i risultati e assumersi la responsabilità di ciò che viene rilasciato.
Vlad Mihalcea usa Copilot in IntelliJ IDEA per analizzare il codice e creare prototipi di funzionalità per Hypersistence Utils e Hypersistence Optimizer. Ha dichiarato che una web application per visualizzare lo storico degli eventi di un ottimizzatore delle prestazioni, un progetto che in precedenza pensava avrebbe richiesto settimane, è stata realizzata in due giorni con Copilot. Continua comunque a esaminare sia i piani proposti sia il codice generato e usa competenze personalizzate per uniformare la documentazione al suo stile di scrittura e alle convenzioni già adottate nel progetto.
Patrick Baumgartner ha descritto tre usi diversi. In un caso, Copilot lo ha aiutato a migrare circa 900 slide distribuite in 15 presentazioni da Reveal.js a Marp. Il lavoro ha richiesto all’incirca dalle otto alle dieci ore. Baumgartner ha controllato i risultati usando screenshot, confronti visivi e algoritmici, revisioni affiancate delle animazioni e confronti tra PDF, mantenendo la responsabilità dei contenuti e degli obiettivi didattici.
In un altro caso, un utente ha segnalato che il tasto Invio non funzionava in alcuni moduli di un’applicazione terminale. Baumgartner ha usato Copilot per riprodurre il problema con test dell’interfaccia utente, individuare la causa nel progetto Tamboui e inviare una correzione che è stata integrata. Ha inoltre usato lo strumento per trovare un modo più conciso di rappresentare i passaggi dei test, quando le descrizioni originali superavano il contesto disponibile.
Il suo terzo esempio è un’app per l’apprendimento della matematica, progettata in base al programma scolastico svizzero. Lavorando con Copilot, ha esplorato diversi approcci didattici e ha riconsiderato il piano iniziale di realizzare un’app universale. L’applicazione risultante supporta tedesco, francese, italiano e inglese e include modalità di esercitazione e per due giocatori. Non ha un backend, quindi i dati degli utenti restano sul dispositivo.
Baumgartner ha detto che ora usa soprattutto flussi di lavoro agentici, scegliendo un editor quando gli serve un riscontro visivo ravvicinato e un agente di programmazione da terminale per le attività più ampie. Ha inoltre consigliato di discutere i requisiti prima di chiedere a un agente di implementare una modifica sostanziale, di esaminare un piano e di definire verifiche specifiche per l’attività che dimostrino che il lavoro è completo. Sia lui sia Mihalcea hanno descritto le competenze riutilizzabili come un modo per trasferire le convenzioni del progetto e gli insegnamenti acquisiti in precedenza alle attività future.
I loro racconti presentano Copilot come uno strumento per velocizzare il lavoro e mettere alla prova le idee, non come un sostituto del giudizio ingegneristico. Il principio guida di Baumgartner era delegare l’esecuzione, non la responsabilità; ha affermato che gli sviluppatori devono comunque esaminare e testare personalmente i risultati.
Fonti: GitHub Blog.