Ottenere il massimo da GitHub Copilot
Quando GitHub Copilot è stato rilasciato, l'ho subito provato. Le affermazioni sembravano troppo belle per essere vere.
Quello che ho scoperto è stato il contrario: era meglio di quanto pubblicizzato. Ne sono rimasto così sbalordito che... non l'ho nemmeno twittato. Ho pensato che fosse un vantaggio troppo grande da regalare!
Ho trovato Copilot così incisivo che, quando abbiamo organizzato il ritiro del nostro team nel 2021, ho dedicato a Copilot un'intera sezione della mia presentazione CTO. L'uso di Copilot è diventato quasi "necessario" come qualsiasi strumento in Infinite Red. È stato un grande punto di svolta.
Cosa fa Copilot per il mio flusso di lavoro di codifica
Sono un programmatore abbastanza veloce in circostanze normali; Il copilota raddoppia la mia velocità.
Ho un lieve ADHD e una delle mie più grandi lotte è rimanere concentrata. Una volta raggiunto lo "stato di flusso", sono inarrestabile. Non credo di essere l'unico a lottare con questo, ma anche se non lo fai, potresti comunque avere dei momenti in cui in un certo senso "perdi il filo" e hai bisogno di un suggerimento.
Ho scoperto che il mio flusso di codifica ideale prevede sempre l'associazione. Una buona coppia mi tiene concentrato, anticipa ciò che era necessario dopo, offre suggerimenti ed è paziente con me. Il copilota ricopre quel ruolo ora, automaticamente. Scriverò del codice, raggiungerò un certo punto in cui il mio cervello sta cercando di passare a qualche altro argomento, ma quella leggera pausa è sufficiente perché Copilot si presenti con un suggerimento, attivando così di nuovo la mia concentrazione.
I limiti del copilota
Un errore comune è ottenere scarsi risultati da Copilot e incolpare lo strumento. Copilot non scrive il tuo codice per te esattamente come ti serve nella maggior parte dei casi. Fa del suo meglio in base al contesto, agli indizi e alla quantità di dati di addestramento a cui ha accesso. E come qualsiasi strumento, devi imparare a usarlo per ottenere il massimo da esso.
Parliamo dei modi per ottenere il massimo da Copilot.
Scrivere commenti principali per il contesto
Il contesto è importante, sia per un programmatore di coppia che per un assistente di codifica AI. Inizia scrivendo un commento chiaro che dia, in parole povere, una buona idea di cosa serve una funzione, quali argomenti dovrebbe prendere, cosa dovrebbe restituire. Se il tuo commento è vago, aspettati risultati vaghi:
Un commento migliore fornirà a Copilot informazioni migliori:
Non esitare a tornare indietro e modificare il tuo commento finché non ottieni i risultati desiderati. Ovviamente puoi modificare manualmente il codice, ma se diventi bravo a scrivere commenti descrittivi, farà un lavoro migliore anche con il codice futuro.
In questo caso, l'aggiunta di "Funzione tipizzata" ha introdotto i tipi negli argomenti della funzione.
Questi commenti non sono necessariamente per i lettori umani del codice, sebbene siano leggibili così come sono. Torno sempre indietro e li metto a punto per i lettori umani dopo che ho finito.
Impara le scorciatoie da tastiera
Se utilizzi VS Code, puoi trovare un elenco di scorciatoie qui .
- Accetta un suggerimento in linea:
Tab - Ignora un suggerimento incorporato:
Esc - Mostra il prossimo suggerimento in linea:
Option (⌥)+] - Mostra suggerimento incorporato precedente:
Option (⌥)+[ - Attiva suggerimento in linea:
Option (⌥)+\ - Apri il copilota GitHub:
Ctrl+Return
Quelli che uso di più, oltre a Tab/ Esc, sono Option+[e ]. Questo mi consente di scorrere i suggerimenti finché non ho quello più utile.
Fornisci a Copilot una struttura con cui lavorare
A volte Copilot incorporerà cose che vuoi veramente estrarre in una funzione di supporto. Rimuovi completamente la funzione generata, crea prima la funzione di supporto e Copilot di solito la riprenderà e la utilizzerà in futuro.
Questo vale per altre cose, come i valori costanti codificati. Aggiungi variabili ben denominate proprio sopra il codice generato e Copilot le integrerà.
Copilot può aiutarti con i comandi CLI
Se sei come me e non ricordi molti comandi git, Copilot può aiutarti anche con quelli.
In una scheda vuota, scrivi qualcosa del genere:
Non è perfetto, ma ti darà abbastanza indizi che dovrebbero avvicinarti!
Il copilota è bravo nelle attività ripetitive, come scrivere test
Uno dei miei più grandi momenti strabilianti in streaming è stato quando Copilot ha scritto test accurati per una funzionalità abbastanza complessa che stavo costruendo. Dai un'occhiata (timestamp 2:23:00):
Copilot può anche scrivere commenti per te!
Mentre scrivere commenti può aiutare Copilot con il codice, scrivere codice può anche aiutare Copilot con i commenti!
Se disponi di un codice esistente e devi documentarlo, Copilot avrà spesso un'idea di cosa sia.
Copilot può spiegarti il codice (tramite Copilot Labs)
Se installi l'estensione Copilot Labs, puoi aprirla nel pannello laterale, evidenziare un blocco di testo e Copilot farà del suo meglio per spiegartelo in un inglese semplice.
Non l'ho trovato altrettanto utile poiché posso leggere il codice fluentemente, ma potrebbe essere utile se un codice è particolarmente criptico.
Copilot può aiutarti a imparare un nuovo linguaggio di programmazione
Quando stavo costruendo react-native-colo-loco , ho dovuto scrivere una sceneggiatura Gradle, che è scritta in Groovy. Conosco un po' di Groovy, ma non molto. Quindi mi sono concentrato sulla scrittura di commenti precisi e accurati e ho lasciato che Copilot suggerisse righe di codice. Potrei quindi fare affidamento sulla mia esperienza di sviluppo per raccogliere schemi e sintassi e partire da lì.
Puoi vedere i risultati qui (ho lasciato quasi tutti i commenti principali di Copilot per mostrare quali fossero).
Se il codice di Copilot è lontano, continua a costruire
Il copilota ama il contesto. Più costruisci, più contesto ha e più utile diventa. Quando ho deciso di ricostruire una parte di MobX-State-Tree , Copilot è stato incredibilmente utile, perché poteva esaminare il resto della base di codice. (Il refactor non è mai stato spedito, ma è stato un ottimo esercizio di apprendimento.)
È ancora presto, ma sono piuttosto fiducioso su GitHub Copilot. Se hai altri suggerimenti, fammelo sapere su Twitter !
Ringraziamenti:
- Grazie a Rizèl Scarlett per il suo discorso su Copilot qui (vale la pena guardarlo anche!):https://www.youtube.com/watch?v=CuQSoHbOpTQ
- Grazie a Marie Prokopets per il suo eccellente articolo su Copilot (dovresti leggere anche questo!):https://nira.com/github-copilot/
- Grazie a Jenna Fucci per la fantastica grafica all'inizio di questo articolo!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































