Come funziona Amazon Q Developer Agent for code transformation - Sviluppatore Amazon Q

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come funziona Amazon Q Developer Agent for code transformation

Per trasformare il codice, Amazon Q Developer Agent for code transformation genera un piano di trasformazione che utilizza per aggiornare la versione in linguaggio di codice del progetto. Dopo aver trasformato il codice, fornisce un riepilogo della trasformazione e una differenza di file per consentirti di esaminare le modifiche prima di accettarle. Le seguenti sezioni forniscono maggiori dettagli su come Amazon Q esegue la trasformazione.

Creazione del codice e creazione di un piano di trasformazione

Per iniziare a trasformare il codice, Amazon Q crea il progetto localmente e genera un elemento di compilazione che contiene il codice sorgente, le dipendenze del progetto e i log di compilazione.

Dopo aver generato l'elemento di build, Amazon Q crea il codice in un ambiente di compilazione sicuro e crea un piano di trasformazione personalizzato in base al progetto o al modulo che stai aggiornando. Il piano di trasformazione delinea le modifiche specifiche che Amazon Q tenterà di apportare, tra cui nuove versioni di dipendenza, importanti modifiche al codice e sostituzioni suggerite per il codice obsoleto. Queste modifiche si basano sulla compilazione preliminare del codice e potrebbero cambiare durante la trasformazione.

Trasformazione del codice

Per trasformare il codice, Amazon Q tenta di aggiornarlo in base alle modifiche proposte nel piano di trasformazione. Man mano che apporta modifiche, ricostruisce ed esegue i test unitari esistenti nel codice sorgente per correggere in modo iterativo eventuali errori riscontrati.

Amazon Q tenta di apportare le seguenti modifiche durante l'aggiornamento del codice:

  • Aggiorna le librerie e i framework più diffusi a una versione compatibile con Java 17. Ciò include l'aggiornamento di Spring, Spring Boot, Junit, JakartaEE, Mockito, Hibernate e Log4j alle ultime versioni principali disponibili.

  • Aggiorna i componenti del codice obsoleti in base ai consigli di Java 17

Revisione del riepilogo della trasformazione e accettazione delle modifiche

Una volta completata la trasformazione, Amazon Q fornisce un riepilogo della trasformazione con dettagli sulle modifiche apportate, incluso lo stato della build finale che indica se l'intero progetto è stato aggiornato. Puoi anche visualizzare un riepilogo del registro di compilazione per comprendere eventuali problemi che hanno impedito ad Amazon Q di creare il codice nella versione aggiornata.

Il riepilogo della trasformazione include inoltre le differenze tra le modifiche proposte nel piano di trasformazione e le modifiche apportate da Amazon Q alla fine per aggiornare il codice, nonché eventuali modifiche aggiuntive non incluse nel piano originale.

Dopo aver esaminato il riepilogo della trasformazione, puoi visualizzare le modifiche proposte da Amazon Q in una visualizzazione differenziale dei file. Qualsiasi modifica al codice suggerita da Amazon Q non influirà sui file di progetto correnti finché non accetti le modifiche. Il codice trasformato è disponibile fino a 24 ore dopo il completamento della trasformazione.

Trasformazioni parzialmente riuscite

A seconda della complessità e delle specifiche della base di codice, potrebbero esserci casi in cui la trasformazione è parzialmente riuscita. Ciò significa che Amazon Q è stato in grado di trasformare solo determinati file o aree di codice del tuo progetto. In questo caso, devi aggiornare manualmente il codice rimanente affinché il progetto sia compilabile nella versione linguistica aggiornata.

Per aiutarti a trasformare il resto del codice, puoi usare la chat di Amazon Q inIDE. Puoi chiedere ad Amazon Q di esaminare i file parzialmente aggiornati e fornire nuovo codice per risolvere problemi, come gli errori di compilazione. Puoi anche utilizzare funzionalità come /deve @workspaceincludere più parti del tuo progetto come contesto e ricevere suggerimenti per più file contemporaneamente.