CONTATTACI

Blog

Come utilizzare GitHub Copilot per aumentare la tua produttività come web developer

L’intelligenza artificiale sta diventando uno strumento imprescindibile per la vita di un programmatore informatico. L’AI è ormai un aspetto cruciale della programmazione informatica e mette a disposizione tool che semplificano di gran lunga la vita di un developer, specialmente per quanto riguarda quei task che spesso si rivelano monotoni e ripetitivi. Per un web developer, impostare per un sito web una pagina che contenga un form responsivo per login e registrazione utente potrebbe essere un valido esempio dei task sopracitati.

Ti avevamo già parlato dell’ormai celebre GitHub Copilot, creato da GitHub. Si tratta di uno strumento di AI che si presta a semplificare la vita di web developer e non. Ma facciamo un attimo un passo indietro.

GitHub: cos’è?

GitHub è uno strumento per la condivisione di progetti software attraverso un servizio di hosting di repository basato su Cloud. Usando questo tool i programmatori possono lavorare in modo coordinato sulla stessa repository, contenente il codice sorgente, pur sviluppando in modo indipendente.

GitHub offre funzionalità di hosting e revisione del codice, commenti e feedback, collaborazione e gestione del team. I programmatori vengono aggiornati in tempo reale sull’evoluzione del progetto e, inoltre, è possibile ripercorrere l’intera storia del codice e ripristinarne una versione precedente, grazie al salvataggio di ogni modifica, branch e fork effettuati.

Dopo aver visto GitHub come funziona, possiamo capire meglio come Copilot può semplificare la vita di uno sviluppatore.

I casi d’uso per GitHub Copilot sono diversi e possono essere sfruttate attraverso delle estensioni di Copilot stesso:

  • Code generation: Copilot è noto per le sue funzionalità di completamento del codice. Se viene fornito un commento nel codice o si digita l’inizio di una riga di codice, Copilot suggerirà una soluzione che è possibile accettare, ignorare o esplorarne le alternative. Una volta installata l’estensione Copilot ed effettuato l’accesso (su Git), il completamento del codice è semplice come digitare le istruzioni e premere il tasto Tab una volta visualizzato il suggerimento. Per esempio, se uno sviluppatore di siti web necessita di creare un’API Rest su Node.js con funzioni CRUD per una determinata categoria, Copilot genererà del codice funzionale.
  • Code explanation: è facile imbattersi in righe di codice di cui non si conosce l’origine, il significato o semplicemente il contesto. Quindi bisogna immergersi in una lettura approfondita del codice, ricercare online la documentazione, capire quali sono le librerie esterne…e ciò comporta una perdita di tempo. Copilot invece può spiegarti il codice nel momento in cui glielo “dai in pasto”. La spiegazione non è solo sintattica, ma anche logica, cercando di dare un contesto a quello che stai leggendo o modificando. Da web developer ti capiterà spesso di cercare codice online o collaborare su repository che non hai mai toccato. Copilot sarà un compagno utile nella comprensione di questi script.
  • Refactoring: pratica ormai fondamentale nella programmazione, specialmente se si lavora in un team e più sviluppatori agiscono sullo stesso codice. Copilot è in grado non solo di uniformare i nomi delle variabili, ma addirittura di rendere il codice più modulare, guardiamo un esempio. 
1. def price_with_discount
2.   price - (price * discount_rate)
3. end

Copilot automaticamente gestisce questa funzione e la trasforma in…

1. def price_with_discount(price, discount_rate)
2.   raise ArgumentError, "Il prezzo deve essere un numero positivo" unless price.is_a?(Numeric) && 
3.   price >= 0
3.   raise ArgumentError, "Discount rate deve essere un float tra 0 e 1" unless 
4.   discount_rate.is_a?(Float) && discount_rate >= 0 && discount_rate <= 1
5.   price - (price * discount_rate)
6. end
  • Test generation: L’uso di Copilot per generare test è tecnicamente un sottoinsieme della “Code generation” citata sopra. Generare unit test per il codice può essere noioso, specialmente se si tratta dei soliti controlli su stringhe, numeri positivi o negativi e simili. Il nostro codice price_with_discount riportato sopra necessita di casi di test per garantire che venga generato un errore se il prezzo o il tasso di sconto non soddisfano i requisiti. Inoltre, potremmo voler testare quanto segue:
    • Un prezzo senza tasso di sconto
    • Un prezzo con un tasso di sconto ragionevole (ad esempio, uno sconto del 10%)
    • Un prezzo con un tasso di sconto del 100% (ad esempio, se vogliamo regalare il prodotto)

Copilot genererà codice simile a questo:

 

1. RSpec.describe Product do
2.   describe "#price_with_discount" do
3.     context "quando vengono dati un prezzo ed un discount rate valido" do
4.       it "ritorna il prezzo con il discount rate applicato" do
5.         product = Product.new("Test Product", 100, 0.2)
6.         expect(product.price_with_discount(product.price, product.discount_rate)).to eq(80)
7.       end
8.     end
  • Traduzione in un altro linguaggio: nella tua carriera da sviluppatore web ti capiterà spesso di dover scrivere lo stesso script, ma in linguaggi differenti, da Python a Java, passando per PHP. In questo caso la logica resta la medesima, ma cambia la sintassi, come se dovessimo tradurre una frase dall’inglese al francese. Copilot permette di preservare la logica del codice, fornendo rapidamente lo script tradotto nel linguaggio che ci interessa. Questo rappresenta un grande vantaggio in termini di tempo per un web developer.

Copilot rappresenta uno strumento di grande importanza per la produttività. Consente di investire risorse temporali, ma anche mentali, su task ben più dispendiose, lasciando al nostro “collaboratore virtuale” le mansioni più noiose. Il programmatore informatico ad oggi deve ottimizzare sempre più il tempo a sua disposizione e l’AI si sta facendo spazio proprio per questo.

Articoli correlati

Il linguaggio HTML (Hypertext Markup Language) è uno dei più conosciuti e diffusi: lo si trova infatti praticamente in tutte le pagine web esistenti. È una scelta popolare tra i principianti che si…

Seguici su Facebook

Vuoi entrare nel mondo della programmazione?

Scopri di più sui nostri corsi!

Chiamaci al numero verde

Contattaci su WhatsApp

Contattaci senza impegno per informazioni sul corso

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.