Lavorare con Github Copilot

In che modo un'intelligenza artificiale può migliorare drasticamente la tua velocità di codifica

Allacciare le cinture di sicurezza

Sono stato recentemente approvato per utilizzare Github Copilot con il mio account Github privato e da allora sono stato in grado di utilizzare lo strumento durante la mia programmazione quotidiana. In questo articolo voglio condividere la mia prima esperienza con questo potente assistente di codice.

Cosa fa Github Copilot - e cosa no

Github Copilot è eccezionalmente bravo a comprendere il contesto in cui stai lavorando e può quindi fornire suggerimenti di completamento del codice molto precisi. Ciò significa anche che gli sviluppatori faranno sempre meno affidamento su frammenti di codice predefiniti, ad esempio per disporre rapidamente una funzione asincrona o un componente React.js.

Github Copilot può rilevare il modello che hai utilizzato, ad esempio analizzando una serie di punti dati o un'interfaccia, e può utilizzare correttamente queste informazioni quando accede a questi dati in una chiamata di funzione, per fornire un semplice esempio.

Lo strumento non codifica tutto per te. Comprende il contesto attuale e le tue intenzioni ed è in grado di fornire suggerimenti di codice molto accurati basati su queste informazioni.

Usi del mondo reale nei miei progetti di hobby

Bene, basta con le informazioni di base! Se vuoi saperne di più sull'implementazione di Github Copilot, controlla i link nell'addendum alla fine della pagina.

Il resto di questo articolo mostrerà le mie esperienze nel mondo reale con Github Copilot. Nel complesso posso concludere che è l'assistenza alla codifica più potente che abbia mai visto. Considerando che questa è solo la primissima versione, è ancora più impressionante come Github Copilot capisca le mie intenzioni e possa fornire i giusti suggerimenti.

Javascript

Iniziamo con alcuni semplici completamenti di codice Javascript. I suggerimenti deducono correttamente il contesto e capiscono la mia intenzione di scrivere un nuovo percorso o

Image 3a745b6b4325
Image 3a745b6b4325
Image 1b10f916ba56
Image 1b10f916ba56
Image fce20a54bd33
Image fce20a54bd33

React.js e hook

Gli screenshot seguenti mostrano i miei primi incontri con i suggerimenti per gli hook di React, tutti sono straordinariamente accurati. La prima schermata mostra un gestore di schede, che non è stato ancora implementato nel componente (è stato implementato il contenitore di schede stesso).

L'altro screenshot è stato preso nel componente articolo e, come puoi vedere, presuppone che io voglia caricare anche le relative traduzioni in questa parte del codice.

Image 2349c4814bb3
Image 2349c4814bb3
Image b0b4e779d117
Image b0b4e779d117

I prossimi esempi mostrano come Github Copilot deduce correttamente altre parti durante lo sviluppo di componenti React.js.

Image ee9960a38080
Image ee9960a38080
Image 8a25c744f100
Image 8a25c744f100
Image 811cfdc2ad44
Image 811cfdc2ad44
Image afa67dbd0151
Image afa67dbd0151

Suggerimenti per il riduttore

Probabilmente l'esperienza più impressionante che ho avuto è stata quando lo strumento ha fornito fondamentalmente un riduttore completo da utilizzare con useReducer.

Image 60c212ca3a8e
Image 60c212ca3a8e

File JSON per le traduzioni

Anche i seguenti suggerimenti sono davvero impressionanti, in quanto non forniscono il completamento del codice, ma le traduzioni corrette. Tutte le traduzioni sono definite nell'ambito di ogni locale e per i file tedeschi Github Copilot ha fornito traduzioni tedesche per le chiavi inglesi. Roba da capogiro!

Image 527d8f89f516
Image 527d8f89f516
Image 2862682d35a2
Image 2862682d35a2
Image e733d5a797ca
Image e733d5a797ca

Completamenti CSS

Molto bene anche i suggerimenti per gli stili Tailwind.css. I completamenti di codice forniti sono esatti e sono correttamente dedotti dal contesto.

Image 4835f6a1a839
Image 4835f6a1a839
Image 10bd8559f56a
Image 10bd8559f56a
Image 9d593d7bd6c9
Image 9d593d7bd6c9
Image fbfcc0b75a5c
Image fbfcc0b75a5c

Avanti.js

Oltre a React.js, Github Copilot comprende anche il contesto di un progetto Next.js e può fornire suggerimenti pertinenti, ad esempio quando si scrive il codice lato server per strategie di generazione di siti statici.

Image db94b45feb59
Image db94b45feb59
Image 202c014c2cad
Image 202c014c2cad

Suggestions

Categories