Massimiliano Gargani

Esplorando GitHub Copilot: AI al Servizio degli Sviluppatori

Oggi voglio parlarvi di una delle innovative creazioni di GitHub: GitHub Copilot. Se sei uno sviluppatore e non hai sentito parlare di Copilot, allora sei nel posto giusto. In questo articolo, esploreremo le potenzialità di GitHub Copilot e come sta rivoluzionando il modo in cui scriviamo codice.

GitHub Copilot è un assistente basato sull’intelligenza artificiale che fornisce suggerimenti e completamenti automatici durante la scrittura del codice. Utilizzando modelli di machine learning addestrati su miliardi di righe di codice open source, Copilot è in grado di comprendere il contesto e suggerire il codice più pertinente per la tua applicazione. Non si tratta solo di completamenti di frasi o parole, ma di porzioni di codice pronte all’uso.

Immaginate di dover affrontare un problema complesso o una logica intricata. Copilot può diventare il vostro assistente di fiducia, suggerendo blocchi di codice che potrebbero risolvere il problema. Non si tratta solo di copiare e incollare, ma di comprendere, personalizzare e ottimizzare il codice proposto. In altre parole, Copilot agisce come un collega di squadra virtuale che ha familiarità con una vasta gamma di linguaggi di programmazione e framework.

Un aspetto interessante di Copilot è che impara dai tuoi commenti e correzioni. Puoi segnalare eventuali errori o suggerimenti che non sono del tutto corretti, migliorando così la sua capacità di generare codice preciso e di qualità superiore nel tempo. Questa interazione continua con gli sviluppatori rende Copilot sempre più utile e affidabile.

L’integrazione di GitHub Copilot con gli ambienti di sviluppo più comuni, come Visual Studio Code, rende l’utilizzo ancora più semplice ed efficiente. Una volta installato, basta iniziare a scrivere codice e Copilot inizierà a suggerire automaticamente il completamento delle righe in base al contesto.

Per installarlo è necessario un account GitHub dove dobbiamo sottoscrivere un abbonamento a GitHub Copilot al costo di 10$ al mese per uso personale o 18$ per utente in caso di account aziendale.

È disponibile un periodo di prova gratuita dopo il quale, se non disdetto, viene addebitato l’importo.

È possibile impostare dalle preferenze se permettere o meno suggerimenti presi da codice pubblico (utile ma potrebbe suggerire pezzi di codice protetti da copyright o violare licenze GPL), e anche se utilizzare il nostro codice per imparare (ovviamente potrebbe suggerire parte del nostro codice compresi dati personali come username, password, email o chiavi API). Attenzione a queste impostazioni.

Una volta sottoscritto il servizio è necessario attivare l’extesion in VSCode (è possibile utilizzare Copilot con altri IDE):

Verrà chiesto lo user e password Github per verificare l’abbonamento. Riavviare VSCode e siamo pronti:

È possibile disabilitare Copilot globalmente o per un determinato linguaggio:

Cosa può fare GitHub Copilot

Supponiamo che tu stia scrivendo codice in Python e stai creando una funzione per calcolare il quadrato di un numero. Mentre digiti il codice, Copilot può suggerire completamenti intelligenti. Ad esempio, potresti iniziare a digitare:

Noterai che Copilot ha suggerito una logica comune per calcolare il quadrato di un numero, moltiplicando il numero per se stesso. Questo suggerimento è basato sulle conoscenze che Copilot ha acquisito dall’analisi di miliardi di righe di codice open source.

Inoltre, Copilot può fornire suggerimenti completi anche per sezioni di codice più complesse. Ad esempio, se stai sviluppando un’applicazione web con Flask e inizi a definire una route, Copilot può suggerire automaticamente una struttura di base per la gestione di richieste e risposte:

Copilot è in grado di suggerire come completare il codice di molteplici linguaggi di programmazione.

Da notare che Copilot è in grado di suggerire in base al codice scritto ma aggiungendo commenti dettagliati al nostro codice potrà fornirci il codice completo:

Come si nota, Copilot ci sta suggerendo 2 possibili completamenti del codice. A noi scegliere il migliore.

Possiamo anche aprire Copilot in un tab separato invece che lavorare direttamente nell’editor, in questo modo vedremo l’intero codice e le diverse opzioni suggerite:

Questi sono solo esempi di come GitHub Copilot potrebbe suggerire codice all’interno dell’editor. I suggerimenti di Copilot si basano sul contesto del codice che stai scrivendo, compresi i nomi delle variabili, i commenti e il contesto circostante.

Ricorda che, come sviluppatore, hai sempre il controllo finale sul codice generato da Copilot. È importante esaminare attentamente i suggerimenti, personalizzarli, correggerli se necessario e assicurarsi che il codice prodotto sia corretto e adatto alle tue esigenze specifiche.

Tutto oro quel che luccica?

Naturalmente, come in ogni innovazione tecnologica, ci sono alcune considerazioni da tenere in considerazione. Alcuni critici hanno sollevato preoccupazioni sulla possibile violazione dei diritti d’autore o sulla dipendenza eccessiva da un assistente di intelligenza artificiale. Tuttavia, GitHub ha posto l’accento sulla collaborazione tra esseri umani e macchine, sottolineando che Copilot è pensato come un aiuto per gli sviluppatori, e non come un sostituto. Alla fine, l’ultima parola sulla qualità e l’efficienza del codice generato spetta sempre a noi sviluppatori.

L’utilizzo di GitHub Copilot presenta alcuni rischi che è importante tenere in considerazione. Ecco alcuni dei principali rischi associati all’uso di Copilot:

  • Violazione dei diritti d’autore: GitHub Copilot è addestrato utilizzando miliardi di righe di codice open source disponibili su GitHub. Ciò può portare a situazioni in cui il codice generato da Copilot potrebbe violare i diritti d’autore o le licenze software. È fondamentale esaminare attentamente il codice generato da Copilot e assicurarsi di rispettare i diritti d’autore e le licenze applicabili.
  • Dipendenza eccessiva dall’IA: L’uso eccessivo di GitHub Copilot potrebbe portare a una dipendenza eccessiva dall’IA per la scrittura del codice. È importante ricordare che Copilot è uno strumento di assistenza e non dovrebbe sostituire la comprensione e l’esperienza umana nella scrittura del codice. Gli sviluppatori dovrebbero continuare a migliorare le proprie competenze di programmazione e ad approfondire la comprensione dei concetti fondamentali.
  • Possibili errori o incoerenze: GitHub Copilot, come qualsiasi algoritmo basato sull’apprendimento automatico, potrebbe generare codice errato o incoerente. Nonostante i progressi dell’intelligenza artificiale, Copilot potrebbe non comprendere completamente il contesto specifico o potrebbe produrre risultati non ottimali. Gli sviluppatori devono essere attenti e verificare sempre il codice generato per assicurarsi della sua correttezza e coerenza.
  • Dipendenza dalla connessione Internet: GitHub Copilot richiede una connessione Internet attiva per funzionare poiché si basa su modelli di intelligenza artificiale ospitati nel cloud di GitHub. Questo può causare inconvenienti se si lavora in un ambiente senza connessione o con una connessione instabile.
  • Limitazioni dei linguaggi e dei framework: Al momento, GitHub Copilot supporta un numero limitato di linguaggi di programmazione e framework. Potresti non trovare supporto completo per tutti i linguaggi o framework che utilizzi. È importante essere consapevoli delle limitazioni di Copilot e non fare affidamento esclusivo su di esso per tutti i tuoi progetti.

Per mitigare questi rischi, è fondamentale utilizzare Copilot con attenzione, fare le dovute verifiche e bilanciare l’uso dell’IA con la propria conoscenza e competenza come sviluppatori.

Conclusioni

In conclusione, GitHub Copilot apre nuovi orizzonti nella scrittura del codice, offrendo suggerimenti intelligenti e completamenti automatici basati sull’intelligenza artificiale. L’utilizzo di Copilot può accelerare il processo di sviluppo, fornire soluzioni creative e risparmiare tempo prezioso. Tuttavia, è importante ricordare che l’IA è uno strumento e come sviluppatori dobbiamo sempre mantenere il controllo sulla qualità e l’integrità del nostro codice.

Siate curiosi, provate GitHub Copilot e scoprite come questa potente intelligenza artificiale può semplificare la vostra vita di sviluppatore. Sono sicuro che, con l’aiuto di Copilot, raggiungerete nuovi livelli di produttività e creatività nel mondo della programmazione.

Happy coding!

E per leggere altri articoli su sviluppo e Power Platform:

Yooda | Blog | Power Platform – Yooda

Don't stop there, read more

Pacho Baratta

AI e Power Platform: un’applicazione pratica

L’efficienza dei processi aziendali è un aspetto cruciale. In questo articolo, vogliamo raccontarvi come sia possibile una sinergia tra AI e la Power Platform di Microsoft

Massimiliano Gargani

What is Microsoft Graph API?

Microsoft Graph API is a powerful tool for developers to access Microsoft’s cloud services and data

Eugenio Zilocchi

Remote Process Automation Desktop

Remote Process Automation Desktop: anche Microsoft partecipa al match?! Con Remote Process Automation Desktop (RPA) anche Microsoft prende parte alla partita della gestione dei processi automatici lato client. Partendo dall’esperienza ed affidabilità di “Microsoft Power Automate” ecco che Microsoft ha introdotto anche l’automazione per i client. In diversi scenari alcuni tasks sono ripetitivi e devono […]