Saltar al contenido principal

GitHub Copilot: Tu mejor aliado para programar

Las herramientas de codificación de IA generativa están transformando la forma en la que los desarrolladores abordan sus tareas de creación de código. Ya hemos hablado con anterioridad sobre Microsoft Copilot, sus beneficios y cómo está aumentando la productividad, el acceso a los datos y está dilatando el conocimiento del usuario.  

Ahora GitHub también ha incluido la posibilidad de usar este asistente inteligente en la creación de código. Te explicamos en qué consiste, cómo usarlo y los principales casos de uso.  

Qué es GitHub Copilot

GitHub Copilot es una herramienta de inteligencia artificial que funciona como un asistente inteligente diseñado para ayudar a los desarrolladores a crear código.  

Funciona mediante el autocompletado, es decir, cuando un usuario comienza a escribir código, GitHub Copilot realiza sugerencias sobre cómo se vería ese código completo.  

Está basado en el lenguaje GPT-3, publicado por OpenAI, y que utiliza estrategias de aprendizaje profundo para comprender textos humanos o componer sus propios textos. Así, la IA utiliza algoritmos, recopila enormes cantidades de datos y a partir de ellos crea nuevos contenidos. En este caso, obtiene la información de código público disponible de diversos repositorios y reconoce numerosos lenguajes de programación como Go, Java, Python, TypeScript, etc.  

Cómo usar GitHub Copilot

Para comenzar a usar GitHub Copilot, debes saber que se puede administrar a través de cuentas personales con GitHub Copilot for Individuals o con cuentas empresariales como GitHub Copilot for Business.  

Antes de empezar a usarlo, deberás configurar una prueba a través de la pestaña de “Configuración” > “Código, planificación y automatización” > GitHub Copilot. 

Una vez estés en la página de configuración de GitHub Copilot, haz clic en “Habilitar GitHub Copilot” > “Continuar para obtener acceso a Copilot” > detalle de pago > Enviar > Guardar y comenzar. 

Ver una sugerencia

Lo siguiente que debes hacer es instalar la extensión de GitHub Copilot para Visual Studio Code. Para obtener tu primera sugerencia, abre Visual Studio, crea un nuevo archivo, escribe el encabezado de función y Copilot sugerirá automáticamente el cuerpo de la función completa en texto atenuado. Para aceptar la sugerencia, presiona Tab. 

Sugerencias alternativas

También es posible que no quieras ninguna de las sugerencias iniciales que ofrece GitHub Copilot, por lo que puedes optar por obtener múltiples sugerencias en una nueva pestaña. Solo tienes que presionar Ctrl+ Enter 

Y lo mismo que con la primera sugerencia, presiona Tab para aceptar o Esc para rechazar. 

Generar sugerencias a través de comentarios

Existe la opción de describir algo que quieras hacer usando lenguaje natural dentro de un comentario, y Copilot te sugerirá el código para alcanzar tu objetivo: crear archivo > escribir el comentario y recibirás la sugerencia de implementación de la función.  

Usando un marco

También puedes usar Copilot para generar sugerencias para API y marcos, como, por ejemplo, crear un servidor Express simple que devuelva la hora actual.  

Solo tienes que crear un nuevo archivo JavaScript, escribir el comentario “// Express server on port 3000” y luego presionar “Enter”. Así te sugerirá una implementación de la aplicación Express. Acepta cada línea y escribe el comentario “// Return the current time” y GitHub Copilot sugerirá una implementación para el controlador predeterminado.  

GitHub Copilot | Mejores prácticas

Como decíamos más arriba, GitHub Copilot ofrece sugerencias a partir de miles de millones de líneas de código abierto. El resultado es que puede crear patrones de codificación no seguros, errores o referencias a API o expresiones obsoletas, de ahí que el desarrollador sea el último responsable de garantizar la seguridad y la calidad del código.  

Es por ello que la propia plataforma recomienda tomar las mismas precauciones que al usar cualquier código que no sea propio: pruebas rigurosas, examen de IP y seguimiento de vulnerabilidades de seguridad. 

Con ello en mente, te compartimos algunos ejemplos de mejores prácticas a la hora de usar GitHub Copilot: 

  1. Prepara el escenario con una meta de alto nivel: esto es más útil si tienes un archivo en blanco o una base de código vacía. Es decir, si GitHub Copilot no tiene contexto de lo que quieres construir, deberás preparar el escenario con una descripción general antes de comenzar con los detalles. Piensa en cómo se lo explicarías a una persona en una conversación normal: cómo dividir el problema a abordar, cómo hacerlo de forma conjunta, etc.  
  2. Haz preguntas simples y específicas: cuando ya hayas dado el objetivo principal al asistente, comunícale los pasos que debe seguir para lograrlo. Copilot lo comprenderá mejor si se desglosa y se divide el proceso (como si fuera una receta de alimentación). Así podrá generar el código a cada paso y no todo a la vez. 
  3. Dale uno o dos ejemplos: como nos ocurre a los humanos, aprender con ejemplos es mucho más fácil de comprender para GitHub Copilot, así que házselo lo más sencillo y claro posible. 
  4. Experimenta con sus indicaciones: si no recibes lo que quería en el primer intento, vuelve a elaborar tu mensaje siguiendo las mejores prácticas mencionadas más arriba. Ya sea con detalles más específicos, estableciendo límites o delineando lo que queremos que haga la función. 
  5. Mantén abiertas un par de pestañas relevantes: GitHub Copilot usa una técnica llamada pestañas vecinas, que permite contextualizar el código procesado todos los archivos abiertos en la IDE en lugar de solo abrir el archivo en el que se esté trabajando. Por lo que, para ayudar al asistente a contextualizar tu código, te recomendamos que tengas una o dos pestañas abiertas.  
  6. Revisa todo: de la misma forma que revisas tu código de forma habitual, siempre se debe evaluar, analizar y validar el código generado por IA. Dada la enorme escala de los LLM, podrían generar una secuencia de código que ni siquiera existe todavía, y tú serás el filtro final que le dé el visto bueno.  

Github Copilot Use Cases

GitHub Copilot ofrece numerosas funciones para asistirte en tu trabajo con código, y todavía hay muchas más que están por llegar gracias a las constantes actualizaciones que está lanzando la herramienta. Aquí te dejamos las más importantes: 

  • Convertir comentarios a código: lo hemos comentado más arriba y es que, gracias a utilizar GPT-3, ha sido entrenado con una gran cantidad de código fuente público. Esto significa que es tan bueno escribiendo lenguaje natural como código, por lo que, una vez dadas las instrucciones, puede avanzar por el código que le hemos pedido.  
  • Crear pruebas unitarias: Copilot elimina la monotonía de escribir pruebas unitarias. Se puede trabajar con una API AS:NET Core que devuelve información sobre un elemento; comenzamos a escribir una función de prueba y Copilot generará las afirmaciones. 
  • Crear una consulta SQL: para poder crear código en C# basado en SQL con Copilot, solo debemos mostrar el esquema como declaraciones y luego escribir una consulta incrustada en C#. 

GitHub Copilot X

Esta es la versión futura de GitHub Copilot y va a suponer un paso más en la programación apoyada en IA. Aún está en versión de pruebas y no se sabe la fecha de lanzamiento, pero ya están trabajando en su diseño y creando nuevas funciones.  

Presenta interfaces de chat y terminal, soporte para solicitudes de extracción y adopción temprana de GPT-4, y ya se ha posicionado como el futuro del desarrollo de software impulsado por inteligencia artificial. 

Sus características principales son: 

  • Conversaciones conscientes del contexto: si no puedes resolver un problema, le puedes pedir a Copilot que te explique un fragmento del código. También si encuentras un error, podrá solucionarlo o generará pruebas unitarias para que puedas volver a construir lo que va a continuación. 
  • Documentos que se adaptan a tus necesidades: podrás dedicar menos tiempo a buscar y más a aprender, ya que Copilot te dará respuestas personalizadas basadas en la documentación escrita y citas online.  
  • Solicitudes de extracción que cuentan una historia: Copilot realiza un seguimiento de tu trabajo, sugiere descripciones y ayuda a los revisores a razonar sobre tus cambios con un tutorial del código.  
  • Toma el mando de tu CLI: si quieres eliminar una etiqueta, necesitas ayuda con tus scripts o comandos de shell, solo tienes que explicárselo a Copilot. 

GitHub Copilot for Business

Ya se cuentan por millones los desarrolladores que se están apoyando en GitHub Copilot para crear software. Algunas investigaciones han revelado que GitHub Copilot ayuda a los desarrolladores a codificar más rápido (el 96%), concentrarse en resolver problemas más importantes (el 74%), permanecer en el flujo por más tiempo y sentirse más satisfechos con su trabajo (el 88%).  

Con este servicio se puede administrar el acceso a GitHub Copilot dentro de una empresa. Utiliza datos del contenido del archivo y fuentes adicionales para mejorar su funcionalidad. Este proceso tiene el objetivo de mejorar el servicio e implica la recogida y análisis de determinada información: 

  • Evaluación del impacto de GitHub Coplito en los usuarios midiendo sus efectos y beneficios positivos. 
  • Los datos ayudan a optimizar y mejorar los algoritmos utilizados para clasificar y ordenar sugerencias, mejorando la experiencia general del usuario. 
  • Detección de abusos y violaciones de políticas a través de la examinación de los datos para investigarlos e investigarlos.  
  • Se usan los datos para realizar experimentos e investigaciones relacionadas con los desarrolladores y su utilización de herramientas y servicios para developers.

GitHub Framework

Si necesitas contar con un partner para descubrir todo el potencial de GitHub Copilot desde Plain Concepts te lo ponemos fácil. 

  • Somos el primer partner en España acreditado por GitHub.  
  • Llevamos más de 17 años trabajando en la cultura Agile referente en la comunidad DevOps.  
  • Contamos con un equipo especializado compuesto por más de 350 ingenieros senior en App Innovation y DevOps.  
  • Acreditados como AMMP.  
  • DevSecOps con MVPs.  

 

Además, no nos quedamos en las certificaciones y te ofrecemos un exclusivo GitHub Adoption Framework para que encuentres el servicio que mejor se ajuste a tus necesidades, de la mano de los mejores expertos.   

Podrás formarte en GitHub Actions, GitHub para desarrolladores, GitHub Admin, GitHub Api, GitHub Copilot, GitHub Advanced Security y Advanced Security para DevOps.   

GitHub Copilot Training

Nuestros expertos de GitHub equiparán a tu equipo con el conocimiento de las características principales de GitHub Copilot, los beneficios empresariales, la gobernanza y los controles, la hoja de ruta futura y las preguntas más frecuentes.  

Te ofrecemos: 

  • Descubre las ventajas de GitHub Copilot: conocerás las ventajas de utilizar esta herramienta y cómo empezar a utilizar este asistente. 
  • Configurar Copilot y el entorno de desarrollo: aprenderás a configurar tu entorno de desarrollo e instalar la extensión para mejorar la experiencia de codificación. 
  • Acelerar la escritura de código: nuestra formación enseña a los desarrolladores a escribir código y forma más rápida y eficiente con la ayuda de Copilot.  
  • Desarrollar pruebas y evaluar resultados: aprenderás a utilizar Copilot para escribir pruebas, evaluar la funcionalidad y analizar los resultados, garantizando un código de alta calidad.  
  • Mantener el flujo de desarrollo: obtendrás conocimientos para mantenerte ene l flujo de desarrollo durante más tiempo, lo que permite un proceso de codificación más fluido y eficiente.  
  • Centrarte en los casos de uso empresarial: te ayudaremos a concentrarte en los principales casos de uso y planteamientos de problemas, lo que te permitirá crear soluciones más impactantes.  
  • Establecer métricas de rendimiento: aprenderás a definir métricas de referencia para el rendimiento, la productividad y la calidad del código, garantizando mejoras cuantificables en tus procesos de desarrollo.  
  • Evaluar las capacidades de generación de código de Copilot: aprenderás a sacar el máximo partido de la capacidad de Copilot para generar código útil e identificar oportunidades de aprendizaje y mejora.  
  • Reconocer limitaciones y áreas de mejora: aprenderás a identificar limitaciones o áreas de mejora de Copilot, así como evaluar su impacto en la mejora de tus procesos de desarrollo.  
  • Optimizar los procesos de desarrollo: Al final de nuestra formación, serás capaz de mejorar iterativamente tus proyectos, basándote en datos y comentarios, optimizando continuamente tus procesos de desarrollo de software y maximizando el valor.  

¡No esperes más y ponte en contacto con nosotros para convertirte en un experto de GitHub Copilot!

Elena Canorea
Autor
Elena Canorea
Communications Lead