# #EventoYoSigo: Introducción a la programación asistida con GitHub Copilot
---
## 1. Introducción
[GitHub Copilot](https://docs.github.com/en/copilot) es una herramienta de inteligencia artificial desarrollada por GitHub en colaboración con OpenAI, que está diseñada para asistir en la programación. Puede realizar diversas tareas, desde corregir código a sugerir líneas completas o bloques de código.
### ¿Qué no es GitHub Copilot?
No está diseñada para desempeñar las funciones de un programador, es un asistente. Esto implica que las sugerencias de Copilot deben ser revisadas y validadas por una persona con experiencia, ya que pueden no ser siempre óptimas o adecuadas para todos los contextos. Además, Copilot puede no ser efectivo en situaciones que requieran soluciones altamente personalizadas o específicas de un dominio.
## 2. Suscripciones y Acceso para Universidades
GitHub Copilot ofrece distintos [planes de suscripción](https://github.com/features/copilot/plans):
- Individual (con 30 días de prueba)
- Business
- Enterprise
Pero, para instituciones educativas y universidades, GitHub ofrece planes especiales que permiten a estudiantes y profesores acceder a Copilot de [manera gratuita](https://docs.github.com/en/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot).
## 3. Integración con herramientas
GitHub Copilot se integra de manera fluida con varios editores de código y entornos de desarrollo integrados (IDEs), incluyendo **Visual Studio Code**, JetBrains IDEs, Neovim y Azure Data Studio.
## 4. Principales Operaciones y Casos Prácticos
GitHub Copilot es capaz de realizar una amplia gama de operaciones, desde sugerir líneas de código y funciones completas hasta generar pruebas unitarias y documentación.
### 4.1. Generación de código
Copilot puede generar automáticamente funciones y bloques de código a partir de descripciones en comentarios y en base a operaciones previas.
### 4.2. Creación de pruebas unitarias
Copilot puede sugerir pruebas unitarias basadas en el comportamiento esperado del código, lo que ayuda a asegurar que tu código funcione como se espera desde el principio. Diseña pruebas pero no las ejecuta para validar el código.
### 4.3. Mejora de código
Copilot puede sugerir mejoras y optimización en el código, ayudando a hacerlo más eficiente, legible y mantenible. Esto incluye desde sugerencias basadas en buenas prácticas y optimización a mejoras en la claridad del código.
### 4.4. Generación de documentación
Copilot puede ayudar a generar documentación de código, como comentarios explicativos y archivos README, basándose en el código y su estructura.
### 4.5. Explicaciones y ejemplos
Al importar librerias y funciones, Copilot puede ofrecer explicaciones detalladas sobre su funcionamiento y uso.
## Recomendaciones
- Familiarizaté con los atajos de teclado
- Mejor tus comentarios
- Revisar las respuestas de GitHub Copilot
- Recuerda que es un asistente
---
# Información
<div class="alert alert-block alert-info">
<b>Autor:</b> Wenceslao Arroyo-Machado</br>
<b>Fecha de actualización:</b> 14/02/2024</br>
<b>GitHub:</b> <a href="https://github.com/Wences91/teaching">https://github.com/Wences91/teaching</a>
</div>