Funcionamiento del Amazon Q Developer Agent for code transformation - Amazon Q Developer

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funcionamiento del Amazon Q Developer Agent for code transformation

Para transformar su código, Amazon Q Developer Agent for code transformation genera un plan de transformación que utiliza para actualizar la versión en lenguaje de código de su proyecto. Tras transformar el código, proporciona un resumen de la transformación y una diferencia de archivos para que pueda revisar los cambios antes de aceptarlos. En las siguientes secciones se proporciona más información sobre cómo Amazon Q lleva a cabo la transformación.

Elaboración del código y creación de un plan de transformación

Para empezar a transformar el código, Amazon Q crea el proyecto de forma local y genera un artefacto de compilación que contiene el código fuente, las dependencias del proyecto y los registros de compilación.

Tras generar el artefacto de compilación, Amazon Q compila el código en un entorno de compilación seguro y crea un plan de transformación, que se personaliza para el proyecto o módulo que vaya a actualizar. El plan de transformación describe los cambios específicos que Amazon Q intentará realizar, incluidas las nuevas versiones de las dependencias, los principales cambios de código y las sugerencias para reemplazar el código obsoleto. Estos cambios se basan en la versión preliminar del código y pueden cambiar durante la transformación.

Transformar tu código

Para transformar el código, Amazon Q intenta actualizarlo en función de los cambios propuestos en el plan de transformación. A medida que realiza los cambios, reconstruye y ejecuta las pruebas unitarias existentes en el código fuente para corregir de forma iterativa los errores encontrados.

Amazon Q intenta realizar los siguientes cambios al actualizar el código:

  • Actualice las bibliotecas y marcos más populares a una versión compatible con Java 17. Esto incluye actualizar Spring, Spring Boot, Junit, Jakartaee, Mockito, Hibernate y Log4j a sus últimas versiones principales disponibles.

  • Actualice los componentes de código obsoletos de acuerdo con las recomendaciones de Java 1.7

Revisar el resumen de la transformación y aceptar los cambios

Una vez completada la transformación, Amazon Q proporciona un resumen de la transformación con detalles sobre los cambios que ha realizado, incluido el estado de la compilación final, que indica si se ha actualizado todo el proyecto. También puede ver un resumen del registro de compilación para comprender los problemas que impidieron que Amazon Q compilara su código en la versión actualizada.

El resumen de la transformación también incluye las diferencias entre los cambios propuestos en el plan de transformación y los cambios que Amazon Q realizó finalmente para actualizar el código, así como cualquier cambio adicional que no estuviera en el plan original.

Tras revisar el resumen de la transformación, podrá ver los cambios que Amazon Q propone en una vista de diferencias de archivos. Los cambios de código que Amazon Q sugiera no afectarán a los archivos de tu proyecto actual hasta que los aceptes. El código transformado estará disponible hasta 24 horas después de que se complete la transformación.

Transformaciones parcialmente exitosas

Según la complejidad y las características específicas del código base, es posible que haya casos en los que la transformación se realice parcialmente correctamente. Esto significa que Amazon Q solo pudo transformar determinados archivos o áreas de código de su proyecto. En este caso, debe actualizar manualmente el código restante para que el proyecto se pueda compilar en la versión de idioma actualizada.

Para ayudar a transformar el resto del código, puedes usar el chat de Amazon Q en elIDE. Puedes pedir a Amazon Q que revise los archivos parcialmente actualizados y que proporcione un código nuevo para solucionar problemas, como los errores de compilación. También puede utilizar funciones como /dev, por ejemplo, incluir más aspectos de su proyecto como contexto y obtener sugerencias para varios archivos a la vez. @workspace