Cosa aggiunge GitHub Copilot al processo di revisione

Completato

Le revisioni del codice e le revisioni delle richieste pull sono essenziali per la qualità, ma possono anche richiedere molto tempo e non uniformi. Gli sviluppatori spesso destreggiano più linguaggi, formattazione incoerente e grandi differenze durante il tentativo di fornire commenti e suggerimenti ponderati. GitHub Copilot consente di semplificare questo carico di lavoro fungendo da revisore collaborativo e assistente. Rileva problemi comuni, elabora commenti di revisione, riepiloga le richieste pull e anche evidenzia i rischi per la sicurezza, fornendo ai revisori un punto di partenza chiaro. Con le istruzioni personalizzate di revisione, è possibile guidare Copilot per controllare gli stessi schemi che osservi, garantendo la coerenza tra i team e i repository.

Al termine di questa unità, si sarà in grado di:

  • Identificare le funzionalità principali di Copilot nelle revisioni del codice.
  • Spiegare in che modo le UR sbloccano funzionalità avanzate di revisione.
  • Riconoscere i diversi modi in cui la revisione di Copilot integra e supporta gli sviluppatori.

Funzionalità principali di Copilot nelle revisioni del codice

Copilot introduce diverse funzionalità progettate per semplificare le revisioni:

  • Riepiloghi delle richieste pull: Copilot può creare automaticamente una bozza delle descrizioni delle richieste pull che includono un riepilogo chiaro delle modifiche e un elenco di file interessati. Ciò garantisce che i revisori inizino con il contesto, non con supposizioni.

  • Correzioni di sicurezza: Con la revisione del codice Copilot integrata nell'analisi del codice GitHub, le vulnerabilità vengono contrassegnate tra i linguaggi. Ad esempio, in JavaScript, Copilot può individuare l'input non autorizzato passato a eval() e commentare:

    eval() con l'input dell'utente può causare l'iniezione di codice. Sostituirlo con un parser sicuro come JSON.parse()." Offre quindi una patch inline allineata alle linee guida per la sicurezza del repository.

  • Spiegazioni line-by-line: i revisori possono evidenziare il codice e chiedere a Copilot di spiegare le funzionalità, aiutandoli a comprendere rapidamente il codice non familiare.

  • Redazione di commenti: Copilot può generare commenti di revisione in base alle procedure consigliate o alle linee guida del team, rendendo il feedback chiaro e interattivo.

  • Revisioni nell'IDE: oltre a lavorare direttamente su GitHub.com, Copilot può anche esaminare il codice all'interno dell'IDE. Ciò consente agli sviluppatori di rilevare e risolvere i problemi prima di aprire una richiesta pull, accelerando il processo e riducendo le rielaborazioni.

Informazioni su come i PRU sbloccano funzionalità di revisione avanzate

Le PRU alimentano queste funzionalità avanzate. Ad esempio, quando di assegna Copilot come revisore delle richiese pull, verrà usata una PRU ogni volta che pubblica commenti. In combinazione con i file personalizzati .github/copilot-instructions.md , le revisioni basate su PRU sono allineate alle regole del team, sia che si concentrino sulla leggibilità, sulla sicurezza o sullo stile.

Esempio:

Senza Copilot, una richiesta pull può includere commenti vaghi di un revisore, come "Risolvere il problema di sicurezza qui". Con l'aiuto di Copilot + PRU, la revisione diventa:

"L'uso di exec() introduce una vulnerabilità di inserimento del codice." Prendere in considerazione la possibilità di sostituirlo con subprocess.run() per un'esecuzione più sicura dei comandi. Ecco una patch suggerita:"

E fornisce la correzione del codice direttamente nel testo.

Cinque modi diversi in cui la revisione di Copilot aiuta gli sviluppatori

Si esaminerà ora come la revisione di Copilot può aiutare a lavorare in modo più intelligente con:

  • Suggerimenti per la revisione del codice
  • Recensioni di Copilot in più lingue
  • Formattazione dei dati nelle richieste pull
  • Scrivere riepiloghi efficaci delle richieste di pull
  • Spiegazione e revisione del codice

Uso dei suggerimenti di Copilot nelle revisioni del codice

Quando si esamina una richiesta pull, è possibile individuare aree che potrebbero essere migliorate, ma non avere il tempo necessario per creare un esempio perfetto o frammento di codice. GitHub Copilot consente di colmare tale gap senza assumere il controllo del lavoro dell'autore. All'interno della visualizzazione "File modificati" della richiesta pull, è possibile evidenziare una riga o un blocco di codice e chiedere a Copilot di suggerire miglioramenti o segnalare potenziali problemi. Copilot genera quindi un suggerimento concreto e consapevole del contesto che puoi copiare nel tuo commento di revisione, rendendo il feedback più chiaro e facile da attuare per l'autore.

Ad esempio, durante la revisione di un file Ruby con logica ripetuta, è possibile evidenziare le righe pertinenti e chiedere:

"Suggerire un refactoring Ruby più pulito per questo codice ripetuto".

Copilot proporrà una versione aggiornata che segue le procedure consigliate comuni di Ruby. È possibile incollare la raccomandazione (o parti di esso) nel commento di revisione insieme alla propria spiegazione. Questo consente di concentrarsi sulla qualità e sulla progettazione generali, offrendo al tempo stesso un feedback interattivo e di alto valore senza offuscare la linea tra revisione e codifica per loro conto.

Revisione in più lingue

Quando si richiede una revisione del codice, Copilot può evidenziare automaticamente le aree che non seguono le procedure consigliate o le linee guida del team

Copilot genererà rapidamente miglioramenti che si allineano alle convenzioni del linguaggio, consentendo di fornire feedback di revisione più efficaci e accurati anche al di fuori dell'area principale di competenza.

Screenshot di una richiesta pull di GitHub che mostra un suggerimento di codice per sostituire una dichiarazione di variabile con una dichiarazione di variabile breve in un programma Go.

Formattazione dei dati per le richieste pull

Le richieste pull sono molto più chiare quando includono un contesto ben formattato, ad esempio metriche, screenshot o risultati dei test. Tuttavia, spesso i team dimenticano di formattare questo contenuto in modo coerente. GitHub Copilot può fungere da secondo set di occhi durante la revisione del codice, contrassegnando automaticamente tabelle formattate in modo non corretto in una descrizione della richiesta pull e proponendo una versione più pulita in linea con le linee guida di stile dell'azienda.

Esempio: uno sviluppatore invia una richiesta pull con la tabella seguente dei tempi di caricamento delle pagine. È difficile da leggere e non segue le linee guida di stile Markdown del team.

Esecuzione del test LoadTimeBefore LoadTimeAfter
1.3 1.2
1.2 1.1
1.1 0.885
1.3 1.3
1.2 0.918
Medio 1.22 1.0806

Durante la revisione, Copilot pubblica un commento:

"Questa tabella non segue le linee guida Markdown del tuo repository." Ecco una versione pulita basata sulla guida di stile dell'azienda."

Include anche una versione corretta pronta per essere incollata nella descrizione della richiesta pull:

Esecuzione test Tempo di caricamento precedente (secondi) Tempo di caricamento dopo gli aggiornamenti (secondi)
1 1.3 1.2
2 1.2 1.1
3 1.1 0.885
4 1.3 1.3
5 1.2 0.918
Media 1.22 1.0806

Il revisore può accettare il suggerimento di Copilot con un solo clic, assicurando che il PR segua lo stile aziendale senza dover riformattare.

Ciò mostra che Copilot funge da revisore automatico (non come agente di codifica): vede la tabella non formattata, applica le linee guida aziendali da .github/copilot-instructions.mde fornisce una versione corretta inline.

Scrivere riepiloghi efficaci delle pull request

La scrittura delle descrizioni delle richieste pull è spesso l'ultimo passaggio del processo e può rappresentare un ostacolo. Copilot rende questo più semplice. Dall'editor delle descrizioni delle richieste pull, è possibile usare l'icona Copilot per generare una bozza del riepilogo o della struttura. Anche se si apportano modifiche, avere un punto di partenza ben strutturato consente di risparmiare tempo e assicura che i revisori abbiano le informazioni necessarie.

Screenshot di una richiesta pull di GitHub che mostra una casella di commento con le opzioni di GitHub Copilot per generare un riepilogo o una struttura delle modifiche.

Spiegazione e revisione del codice

In alcuni casi è possibile che non si conosca il codice in una pull request. Invece di affrontare questo problema, è possibile chiedere a Copilot di spiegare le modifiche. Copilot può anche eseguire una revisione iniziale delle richieste pull prima di richiedere commenti e suggerimenti dai colleghi. Ciò consente di rilevare problemi più piccoli, convalidare le procedure consigliate e offre maggiore fiducia nella qualità dell'invio.

Ora sai di cosa è capace Copilot quando si tratta di revisioni del codice. Verrà ora illustrato come usare le revisioni di Copilot direttamente su GitHub.com.