Video Summary and Transcription
Codium es un asistente generativo de IA para el desarrollo de software que ofrece explicación de código, generación de pruebas y características de colaboración. Puede generar pruebas para una API de GraphQL en VS Code, mejorar la cobertura de código e incluso documentar pruebas. Codium permite analizar líneas de código específicas, generar pruebas basadas en las existentes y responder preguntas relacionadas con el código. También puede proporcionar sugerencias para mejorar el código, ayudar con la refactorización del código y asistir en la redacción de mensajes de commit.
1. Introducción a Codium y Demo
Hola, bienvenidos a todos. Soy Jaap de los Países Bajos, representando a Codium. Ofrecemos un asistente de IA generativo que se integra con tu IDE, proporcionando generación de pruebas, explicación de código y características de colaboración. Nuestro proyecto de código abierto, PR Agent, automatiza los mensajes de commit, las revisiones de PR y las descripciones. Vamos a sumergirnos en una demostración de las capacidades de Codium generando pruebas para una API de GraphQL en VS Code. Podemos configurar el marco de pruebas, las bibliotecas y el número de pruebas a generar. También podemos agregar indicaciones y usar pruebas existentes como ejemplos. Con Codium, podemos generar pruebas e incluso documentarlas. Vamos a abordar la cobertura de código para el servidor de API REST de Express utilizando Codium.
Hola, bienvenidos a todos. Mi nombre es Jaap, y como probablemente puedan notar, no soy de por aquí. Estoy basado en los Países Bajos. Un poco sobre mí, sobre cómo pueden conectarse conmigo, pero vamos a entrar en materia y hablar sobre las cosas increíbles que hacemos en Codium y cómo podemos facilitarles la vida.
Lo que ofrece Codium es que somos un asistente de IA generativo que se integra en tu IDE. Puede ser VS Code, puede ser la suite de JetBrains, y ofrece generación de pruebas, explicación de código, algunas características de colaboración como ya no tener que escribir tus propias solicitudes de extracción. Y también tenemos un proyecto de código abierto que se llama PR Agent. Así que PR Agent también tiene esa funcionalidad. Es completamente gratuito para usar. La URL está listada allí. Y puedes ejecutarlo como una acción de GitHub o alojarlo tú mismo, puede conectarse a tres de ellos listados aquí, GitHub, GitLab, Bitbucket, pero también funciona con Azure DevOps, CodeCommit, y estoy olvidando algunos otros. Así que si no te gusta escribir tus propios mensajes de commit, hacer tus propias revisiones de PR y escribir tus descripciones, PR Agent es una buena herramienta de código abierto que tenemos en Codium.
Y con eso, me gustaría pasar a una demostración. Y opté por el enfoque fácil, cero fallos en la demo. Así que voy a sumergirme en un par de capturas de pantalla aquí que muestran algunas de las capacidades que tenemos. Y para hacerlo, vamos a echar un vistazo a este repositorio. Así que este repositorio Mocha con un montón de aplicaciones de demostración. Y vamos a echar un vistazo a esta API de GraphQL. Y vamos a ver si podemos generar algunas pruebas con ella y mostrar cómo es la interfaz de Codium. Así que esto es en VS Code. Y como pueden ver, hay una serie de cosas que podemos configurar aquí. Así que podemos seleccionar el marco de pruebas, podemos seleccionar bibliotecas adicionales, podemos establecer cuántas pruebas queremos generar, también podemos añadir indicaciones. Y si ya tienes pruebas existentes, también puedes dar un ejemplo de prueba de referencia que podemos usar como base para generar esas pruebas. Así que lo que podemos ver aquí es que he generado una prueba. Y pensé, bueno, sería bueno si la prueba también estuviera documentada. Así que doy una indicación, añado una cadena de documentación. Y luego podemos ver que también añadió una cadena de documentación a la prueba. A continuación, ejecuté la cobertura de código para este repositorio. Y identifiqué que el servidor de API REST de Express no tenía suficiente cobertura de código. Así que vamos a ver cómo podemos solucionar esto usando Codium.
2. Explicación de Código y Generación de Pruebas
Aquí está el código con el que estamos trabajando. Las líneas 16, 21 y 22 no están cubiertas por la cobertura de código. La explicación del código proporciona un resumen, un ejemplo de uso y un flujo. Codium permite analizar métodos, funciones o líneas específicas. Podemos añadir más pruebas utilizando las pruebas existentes como referencia. Podemos seleccionar comportamientos apropiados y generar pruebas. Generamos una prueba para el error 404, lo que mejoró la cobertura de código. Al solicitar a la IA de Codium, se generó una prueba para el código de error 500. Podemos regenerar resultados y utilizar comandos de chat.
Así que aquí está el código con el que estamos trabajando. Voy a retroceder uno. También podemos ver los números de línea aquí. Así que nos referiremos a eso cuando estemos mirando el código fuente. Así que podemos ver que la línea número 16, el 404, no estaba cubierta con la cobertura de código, según la cobertura de código. Y también las 21 y 22. Así que un error de servidor tampoco estaba cubierto.
Para entender mejor cómo podemos generar estas pruebas, podemos echar un vistazo a la explicación del código. Así que da un resumen. Da un ejemplo de uso, y también el flujo de cómo funciona este fragmento de código. Así que en este caso, estamos mirando un solo archivo. Pero con Codium, también puedes especificar un método específico, una función específica, o un número de líneas seleccionadas que quieres analizar o generar pruebas para ellas o crear cadenas de documentación para ellas.
Así que a continuación, podemos ver la prueba existente. Y lo que vamos a hacer, porque ya tenemos pruebas existentes que cubren la parte principal del comportamiento, vamos a hacer clic en el botón que dice, añadir más pruebas. Así que generaremos pruebas, y utilizaremos las pruebas existentes como referencia para generar esas pruebas. Y podemos ver que tenemos un análisis de comportamiento de esta función. Esta es una función bastante simple. Así que no todos estos comportamientos tienen sentido completo, pero esa es la idea. Puedes seleccionar los que creas que son apropiados y luego generar pruebas para ellos. También tenemos la opción de generar las pruebas nosotros mismos.
Así que en este caso, generamos la prueba para el error 404. Y después de añadir eso al repositorio, volviendo a ejecutar la cobertura de código, podemos ver que ahora la línea número 16 también está cubierta. Así que genial. Sin embargo, no había ninguna prueba para el código de error 500. Y tampoco había ningún comportamiento para eso. Así que pedí a la IA de Codium que generara la prueba para el código de error 500. Y de esa manera también puedes generar esas pruebas. Y para cualquiera de los resultados que generamos, podemos hacer clic en regenerar para ver qué tipo de para que genere nuevo código. Podemos hacer solicitudes para mejorar el código y para guiarlo hacia el objetivo final. Y también tenemos integrados una serie de comandos de chat.
3. Preguntas de Código y Comunicación
Puedes hacer preguntas a la IA de Codium sobre tu código e incluso solicitarle que genere datos simulados. Puede mejorar ciertas partes de tu código y proporcionar múltiples sugerencias. También puedes indicarle que refactorice tu código, revise tus cambios y te ayude a escribir mensajes de commit. Si tienes alguna pregunta o quieres ponerte en contacto, puedes encontrarme en Twitter o en el canal de Discord de Codium AI.
Por lo tanto, es posible hacer preguntas sobre tu código. Al hacer preguntas, también puedes pedirle que genere datos simulados. Podemos ver aquí que tenemos cadenas de documentación. Podemos mejorar el código. Y cuando le pides que mejore, también puedes indicarlo. Así que mejorará ciertas partes de tu código. Y dará múltiples sugerencias.
Puedes decirle que lo refactorice. Te dará una diferencia. Y luego puedes elegir aceptar o rechazar esos cambios. Y una vez que llegues al punto en que estés satisfecho con tus cambios, Codium AI también puede ayudarte a escribir tu mensaje de commit. Antes de subir tu código a un repositorio remoto, ya puedes hacer una revisión de tus cambios contra ramas específicas a las que podrías querer empujar para tener una idea si no cometiste un error y pusiste un token de API allí.
Y con eso, si tienes alguna pregunta, todavía estoy en Twitter porque no recibí una invitación para ninguno de los otros. Puedes encontrarme allí. O ve a Codium AI. Tenemos un canal de Discord y probablemente sea la forma más fácil de ponerte en contacto. Soy el único Jaap allí. Así que es bastante fácil. Gracias.
Comments