I prodotti di intelligenza artificiale hanno rivoluzionato lo sviluppo o la codifica del software nei tempi moderni. Utilizzando l'intelligenza artificiale, possiamo generare automaticamente codici di programmazione, correggerli e ottimizzarli Refactoring del codice . In questo articolo, esploriamo il processo di refactoring e vediamo come è possibile utilizzare Copilot per il codice rifrattore .
Cos'è il refactoring del codice?
Nello sviluppo di software o applicazioni, il Code Refactoring si riferisce alla ricostruzione o alla riorganizzazione del codice sorgente del programma mantenendo la sua funzionalità originale. Il processo mira a migliorare la struttura e la progettazione del software e a ridurre la complessità. L'integrazione dell'intelligenza artificiale nel refactoring del codice ci ha aiutato a identificare tempestivamente i problemi di prestazioni del software e a semplificare algoritmi complessi per migliorare l'efficienza complessiva.
In che modo Copilot può aiutare nel refactoring dei codici?
Può analizzare una particolare sezione del codice e fornire suggerimenti per migliorarne la struttura in un formato più pulito e facile da usare per ridurne la complessità. Le raccomandazioni fornite si basano su quanto segue:
barra di ricerca di Windows 10 mancante
- Identificare i problemi con il codice esistente: Copilot esegue la scansione dell'intero file di codice per evidenziare le sezioni o le aree da sottoporre a refactoring evidenziando codici duplicati, variabili non utilizzate o poco chiare, ecc.
- Suggerire opzioni efficienti: Durante il refactoring del codice, Copilot analizza il codice esistente e suggerisce alternative efficienti che possono produrre gli stessi risultati ma rendere il codice più pulito. Questi raccomandamenti includono un uso efficiente del linguaggio per denominare variabili, metodi e strutture di dati.
- Garantire un codice manutenibile: Il feedback in tempo reale ci aiuta a evitare l'inclusione di eventuali bug. I suggerimenti generalmente si basano sulle migliori pratiche dei principi di programmazione che possono aiutare a mantenere una struttura corretta del codice, rendendo più facile per gli altri comprenderla e modificarla se necessario.
Come utilizzare Copilot per il codice rifrattore
Per utilizzare Copilot per il refactoring, possiamo iniziare da installazione di GitHub Copilot estensione per il linguaggio interessato (VS Code, Python, ecc.). Se ad esempio vogliamo ricostruire un codice sorgente scritto in Python possiamo installare il plugin Copilot tramite:
- Fare clic per aprire l'opzione Impostazioni nell'ambiente di sviluppo integrato o IDE (JavaScript o Python).
- Fare clic sull'opzione plug-in a sinistra.
- Clicca sul Mercato opzione e cercare il file Copilota GitHub collegare.
- Una volta individuato, fare clic su Installare per installare il plug-in.
- L'IDE richiederà un riavvio una volta completata l'installazione. Dopo il riavvio, aprire l'IDE e fare clic su Strumenti -> GitHub Copilot -> Accedi a GitHub.
- Dopo aver effettuato con successo l'accesso, Copilot sarà pronto per l'uso.
- Per utilizzare Copilot, è possibile utilizzare le scorciatoie seguenti durante la scrittura del codice
Azione | Windows/Linux | Mac OS |
Attiva suggerimenti in linea | Alt+\ | Opzione+\ |
Vedi il suggerimento successivo | Alt+] | Opzione+] |
Vedi il suggerimento precedente | Alt+[ | Opzione+[ |
Accetta un suggerimento | Tab | Tab |
Ignora un suggerimento in linea | Esc | Esc |
Mostra tutti i suggerimenti in una nuova scheda | Alt+Invio | Alt+Invio |
Imparentato: Come visualizzare il codice scaricato da GitHub
Esempio 1: per semplificare un codice complesso
Consideriamo lo snippet di codice seguente per dimostrare come un codice complesso può essere semplificato utilizzando la funzionalità Refactoring di Copilot. Qui consideriamo solo una parte di un programma più ampio per facilità di comprensione:
Prima del refactoring
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
Dopo il refactoring con Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
Nell'esempio precedente, il primo set di codici ( Before Refactoring) è costituito da una funzione o metodo denominato ordine di processo, che esegue le fasi di elaborazione di un particolare ordine. Prima che l'ordine venga elaborato, l'istruzione condizionale IF controlla se l'ordine è pronto per l'elaborazione o non utilizza l'istruzione se (order.isReadyForProcessing()) funzione. In questo insieme di codici la logica di elaborazione è inclusa all'interno della funzione primaria, rendendola meno modulare.
Nel seguente frammento di codice abbiamo il file ordine di processo funzione per elaborare l'ordine. Tuttavia, la logica di verifica se l'ordine è pronto per l'elaborazione e l'elaborazione dell'ordine pronto è stata spostata in una funzione separata denominata processReadyOrder. Ciò aiuta a isolare ciascun metodo per fornire chiarezza e modularità al codice.
Esempio 2: ridenominazione delle variabili
Prima del refactoring
def calculate_area(l, w): return l * w
Dopo il refactoring con Copilot
def calculate_area(length, width): return length * width
Dopo il refactoring, tuttavia, le variabili “l” e “w” sono state sostituite con length e width, il che ha aggiunto chiarezza al codice attraverso la ridenominazione delle variabili come caratteristica essenziale del refactoring.
il disco è offline perché ha una collisione di firme con un altro disco che è online
Anche se Copilot può aiutarci a ricostruire il codice, presenta diverse limitazioni, come suggerimenti errati, affidamento eccessivo e rifrazione di codici obsoleti. Una volta ricevuti i suggerimenti, assicurati di eseguire tutti i controlli manuali e utilizzare le istruzioni giuste.
Su quali dati è stato addestrato GitHub Copilot?
GitHub Copilot è stato formato su testo in linguaggio naturale e codice sorgente da fonti disponibili pubblicamente, incluso il codice nei repository pubblici su GitHub. È alimentato da modelli di intelligenza artificiale generativa sviluppati da GitHub, OpenAI e Microsoft.
Quali sono i linguaggi di programmazione compatibili per Copilot?
Github Copilot supporta vari linguaggi ma funziona particolarmente bene con JavaScript, TypeScript, Ruby, Python, Go, C++ e C#.