Refactorización de código duplicado mediante el agente de Copilot de GitHub

Completado

El modo de agente es una característica de GitHub Copilot que permite a los desarrolladores realizar refactorizaciones y modificaciones de código con la ayuda de la inteligencia artificial. En el modo agente, El chat de Copilot puede sugerir cambios de código, automatizar tareas repetitivas y proporcionar instrucciones para mejorar la calidad del código. Mediante el modo de agente, los desarrolladores pueden simplificar su proceso de refactorización y mejorar la productividad.

Comparación de los modos Ask y Agent

Aunque el modo Preguntar se centra en analizar el código y proporcionar información, el modo del agente va un paso más allá mediante la realización de tareas que modifican el código de forma autónoma. Los dos modos se complementan entre sí y se pueden usar juntos para acelerar el desarrollo y mejorar la calidad del código.

Modo preguntar (explicaciones) Modo de agente (acciones)
Objetivo: Responder a preguntas, explicar, aconsejar. Objetivo: Ejecutar tareas (escribir código, refactorizar, etc.).
Alcance: usa el contexto de los archivos abiertos o el texto proporcionado. No se han realizado cambios. Alcance: Puede acceder a todo el área de trabajo y realizar varios cambios en los archivos.
Cuándo usar: Descripción del código, ayuda rápida, prototipos. Cuándo usar: Aplicación de cambios repetitivos o de varios pasos, generando código nuevo, refactorización.
Riesgo: Bajo (solo lectura). Riesgo: Más alto (realiza cambios; necesita validar).

Solicitudes eficaces para el Modo Agente

Para aprovechar al máximo el modo de agente, los desarrolladores deben proporcionar mensajes claros y específicos. Por ejemplo: "Extraiga la lógica de validación de correo electrónico duplicada de los métodos UserService.ValidateEmail() y OrderService.ValidateCustomerEmail(). Cree un método EmailValidator.IsValid() compartido en una nueva clase EmailValidator. Refactorice los métodos existentes para usar el nuevo validador". Al proporcionar instrucciones detalladas, los desarrolladores pueden guiar el modo de agente para realizar las refactorizaciones deseadas y lograr las mejoras de calidad del código deseadas.

Esta es una lista de procedimientos recomendados:

  • Ser específico: especifique claramente lo que necesita que haga el agente. Si tiene un enfoque específico que desea que use el agente, describa este método. Las tareas con frases precisas generan mejores resultados.

  • Un paso a la vez: el agente de Copilot de GitHub puede planear implementaciones de varias fases para tareas asignadas. Sin embargo, dividir las tareas grandes y complejas en tareas más pequeñas y fáciles de administrar es un mejor enfoque. Por ejemplo, en lugar de pedir al agente que refactorice un módulo completo, puede pedirle que cree una función auxiliar en una tarea y, a continuación, pídale que quite el código duplicado y refactorice los métodos originales en una tarea posterior. Las tareas más pequeñas producen un mejor control y ayudan a los desarrolladores a administrar los cambios de forma incremental.

  • Use comentarios en avisos: si es necesario, incluya comentarios en código como // TODO: use OrderHelper here y, a continuación, pida a Copilot que ayude a corregir esa tarea pendiente. A veces, las instrucciones de anclaje en el código ayudan a contextualizar el cambio.

  • Supervisar el progreso y comprobar los resultados: supervise el progreso del agente en el panel de chat. Si es necesario, puede cancelar la tarea. Una vez que el agente complete la tarea, use el editor de código para revisar cada edición individualmente. GitHub Copilot muestra una lista de cada archivo actualizado en el panel de chat. Asegúrese de abrir cada archivo y revisar las actualizaciones. Trate este proceso como una revisión de código. Si algo está mal, puede solicitar al agente que lo arregle o realice los cambios manualmente. Si los resultados no son los esperados, siempre puede revertir los cambios e intentarlo de nuevo con un mensaje más específico.

Cuándo no usar el modo agente

El modo agente de GitHub Copilot es una herramienta eficaz que puede acelerar el proceso de desarrollo. Sin embargo, hay situaciones en las que es mejor realizar tareas manualmente. En el caso de refactorizaciones complejas o cambios críticos en el código, es posible que los desarrolladores encuentren que necesitan confiar en su propia experiencia y juicio. El modo de agente es más adecuado para tareas de refactorización repetitivas y sencillas, donde la automatización puede ahorrar tiempo y esfuerzo. Comprender las limitaciones del modo agente ayuda a los desarrolladores a tomar decisiones fundamentadas sobre cuándo usarlas y cuándo confiar en su propia experiencia.

Resumen

El uso del modo agente para la refactorización ofrece varias ventajas. Ahorra tiempo y esfuerzo mediante la automatización de tareas repetitivas, mejora la calidad del código al sugerir procedimientos recomendados y mejora la productividad al optimizar el proceso de refactorización. Mediante el modo agente, los desarrolladores pueden crear código más limpio y fácil de mantener y centrarse en tareas de nivel superior que requieren su experiencia.