Los productos de IA han revolucionado el desarrollo o la codificación de software en los tiempos modernos. Usando IA, podemos generar códigos de programación automáticamente y corregirlos y optimizarlos a través de Código de refactorización . En este artículo, exploramos el proceso de refactorización y vemos cómo puede utilizar copiloto para código refractor .
¿Qué es la refactorización de código?
En el desarrollo de software o aplicaciones, la refactorización de código se refiere a reconstruir o reorganizar el código fuente del programa manteniendo su funcionalidad original. El proceso tiene como objetivo mejorar la estructura y el diseño del software y reducir la complejidad. La integración de la IA en la refactorización de código nos ha ayudado a identificar rápidamente problemas de rendimiento del software y facilitar algoritmos complejos para mejorar la eficiencia general.
¿Cómo puede ayudar Copilot en la refactorización de códigos?
Puede analizar una sección particular del código y proporcionar sugerencias para mejorar su estructura a un formato más limpio y fácil de usar para reducir la complejidad. Las recomendaciones proporcionadas se basan en lo siguiente:
- Identifique problemas con el código existente: Copilot escanea todo el archivo de código para resaltar las secciones o áreas que se van a refactorizar señalando códigos duplicados, variables no utilizadas o poco claras, etc.
- Sugerir opciones eficientes: Al refactorizar el código, Copilot analiza el código existente y sugiere alternativas eficientes que pueden producir los mismos resultados pero hacer que el código parezca más limpio. Estas recomendaciones incluyen el uso eficiente del lenguaje para nombrar variables, métodos y estructuras de datos.
- Garantizar un código mantenible: Los comentarios en tiempo real nos ayudan a evitar la inclusión de errores. Las sugerencias generalmente se basan en las mejores prácticas de los principios de programación que pueden ayudar a mantener la estructura adecuada del código, lo que facilita que otros lo comprendan y modifiquen si es necesario.
Cómo utilizar el copiloto para el código refractor
Para usar Copilot para refactorizar, podemos comenzar por instalando el copiloto de GitHub extensión para el lenguaje en cuestión (VS Code, Python, etc.). Por ejemplo, si queremos reconstruir un código fuente escrito en Python, podemos instalar el complemento Copilot de la siguiente manera:
rundll32
- Haga clic para abrir la opción Configuración en el Entorno de desarrollo integrado o IDE (JavaScript o Python).
- Haga clic en la opción de complemento a la izquierda.
- Clickea en el Mercado opción y busque el Copiloto de GitHub enchufar.
- Una vez localizado haga clic en Instalar para instalar el complemento.
- El IDE solicitará un reinicio una vez que se complete la instalación. Después de reiniciar, abra el IDE y haga clic en Herramientas -> GitHub Copilot -> Iniciar sesión en GitHub.
- Después de iniciar sesión correctamente, Copilot estará listo para su uso.
- Para usar Copilot, se pueden usar los siguientes atajos mientras se escribe el código
Acción | Windows/Linux | Mac OS |
Activar sugerencias en línea | Alt+\ | Opción+\ |
Ver la siguiente sugerencia | Alt+] | Opción+] |
Ver la sugerencia anterior | Alt+[ | Opción+[ |
Aceptar una sugerencia | Pestaña | Pestaña |
Descartar una sugerencia en línea | Esc | Esc |
Mostrar todas las sugerencias en una nueva pestaña | Alt+Entrar | Alt+Entrar |
Relacionado: Cómo ver el código descargado de GitHub
Ejemplo 1: para simplificar un código complejo
Consideremos el siguiente fragmento de código para demostrar cómo se puede simplificar un código complejo utilizando la función Refactorización de Copilot. Aquí, estamos considerando sólo una parte de un programa más amplio para facilitar la comprensión:
Antes de refactorizar
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
Después de refactorizar con Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
En el ejemplo anterior, el primer conjunto de códigos (Antes de refactorizar) consta de una función o método denominado procesarorden, que realiza los pasos para procesar un pedido en particular. Antes de que se procese el pedido, la declaración IF condicional verifica si el pedido está listo para procesarse o no utiliza el si (order.isReadyForProcessing()) función. En este conjunto de códigos, la lógica de procesamiento se incluye dentro de la función principal, haciéndola menos modular.
En el siguiente fragmento de código, tenemos el procesoOrden función para procesar el pedido. Sin embargo, la lógica de verificar si el pedido está listo para procesarse y procesar el pedido listo se ha movido a una función separada llamada procesoReadyOrder. Esto ayuda a aislar cada método para proporcionar claridad y modularidad al código.
Ejemplo 2: cambio de nombre de variable
Antes de refactorizar
def calculate_area(l, w): return l * w
Después de refactorizar con Copilot
agregar el botón de inicio a Windows 8
def calculate_area(length, width): return length * width
Sin embargo, después de la refactorización, las variables “l” y “w” fueron reemplazadas por longitud y amplitud, lo que contribuyó a la claridad del código mediante el cambio de nombre de las variables como una característica esencial de la refactorización.
Aunque Copilot puede ayudarnos a reconstruir el código, tiene varias limitaciones, como sugerencias incorrectas, dependencia excesiva y refracción de códigos obsoletos. Una vez que tenga sus sugerencias, asegúrese de realizar todas las comprobaciones manuales y Utilice las indicaciones correctas.
¿Con qué datos se ha entrenado GitHub Copilot?
GitHub Copilot ha sido capacitado en texto en lenguaje natural y código fuente de fuentes disponibles públicamente, incluido el código en repositorios públicos en GitHub. Está impulsado por modelos de IA generativa que desarrollaron GitHub, OpenAI y Microsoft.
¿Cuáles son los lenguajes de programación compatibles con Copilot?
Github Copilot admite varios lenguajes, pero funciona particularmente bien con JavaScript, TypeScript, Ruby, Python, Go, C++ y C#.