
Uno de los grandes retos que teníamos en Programación de Ordenadores I en la facultad, era la programación recursiva, incluyendo las condiciones de parada y el nivel de profundidad recursiva.
Copilot integrado en C# de Visual Studio empieza a intuirla ya en sus sugerencias de código, aunque necesita que se lo indiques con un comentario de cómo quieres hacerlo.
En esta ocasión le hemos preparado un poco la puesta en escena, ya que aún no es capaz de leernos la mente, pero sí de empezar a descubrir patrones en función de nuestra manera de programar y proponernos incluso el uso de objetos o clases abstractas definidas anteriormente por nosotros, no sólo los tipos básicos de C#.

Copilot nos propone el código necesario para llevar a cabo tareas muy definidas a bajo nivel, pero es sorprendente el nivel de acierto que consigue a veces, incluyendo llamadas recursivas
Las claves para ir obteniendo resultados con Copilot van estando claros, y además, fomentan las buenas técnicas de programación:
- Poner a las variables nombres descriptivos
- Estructurar correctamente el programa, con un buen nivel de granularidad y funciones
- Emplear los tipos de datos u objetos apropiados
- Escribir como comentario de código una descripción precisa y sencilla de lo que deseas
Por sacarle un inconveniente: en esta ocasión (aunque no la necesitaba), no ha tenido en cuenta meter una condición de parada para la llamada recursiva y evitar un desbordamiento de pila si entra en un bucle infinito.
