Github Copilot

Photo by Oscar Sutton on Unsplash

Sono arrivato un pochino tardi a fare una prova con Github Copilot. Mi ero messo in lista di attesa mesi e poi mi ero completamente dimenticato di verificare se la mia richiesta fosse stata accettata o meno.

Durante il fine settimana mio figlio mi ha fatto vedere del codice Python che ha scritto per una sua applicazione. In particolare stava usando il framework flask dal momento che si trattava di una applicazione web con un pochino di backend ed accesso ad un database.

Ho visto che aveva Copilot attivo e mi ha detto che aveva ottenuto accesso qualche settimana prima.

Quando ho avuto qualche momento libero sono andato a verificare se la mia richiesta fosse stata accettata e dopo avere ottenuto una risposta affermativa lo ho installato su PyCharm e Visual Studio Code.

Confesso che ne sono rimasto decisamente impressionato.

Ho usato come test il progetto Javascript che fa chiacchierare i nostri fogli Google Sheets con Salesforce tramite REST API.

Ho quindi scritto un commento all’interno del file che implementa le richieste verso le API. Qualcosa del tipo: “Write a function that gets Opportunity data from Salesforce and returns it”.

All’interno del mio codice c’è già, ovviamente, una funzione simile. Copilot ne ha scritta una praticamente identica. Già questo sarebbe impressionante di per sè.

La cosa che mi ha stupito di più è il fatto che la funzione scritta da Copilot aveva il mio stesso stile di scrittura del codice. Le funzioni che si occupano del logging avevano la stessa architettura. Nel caso specifico Copilot ha capito che la stessa funzione può essere utilizzata sia all’interno dell’Editor di Google Script che all’interno di un foglio Google Sheets.

Incredibile. Mi sembrava di avere una copia di me stesso di fianco a me. Una sorta di pair programming virtuale.

Detto questo posso affermare con certezza che non siamo ad un livello di perfezione tale da potere dire che Copilot può sostituire un programmatore.

In alcune occasioni ha fatto degli svarioni non male ed ha introdotto dei bug piuttosto subdoli nel codice. Questo significa che non ci si può affidare completamente a Copilot. Diciamo che è un ottimo suggeritore.

Un altro uso che ho trovato particolarmente efficace riguarda la sintassi del linguaggio e l’uso di alcune funzioni. Iniziare a scrivere una funzione per poi andare a cercare su Google la sintassi esatta di cui mi ero dimenticato è molto più veloce con Copilot. Da questo punto di vista l’aiuto è enorme.

Per ora mi ci sto divertendo parecchio anche se sono solo poche ore che lo sto utilizzando.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Commenti
Newest
Oldest Most Voted
Inline Feedbacks
View all comments