Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Prompt engineering para programación, Unidad 6 — Refactorización y mejora de código, 6.2 — Prompts de mejora incremental ·

Mantener comportamiento

Mantener comportamiento: Mejorando código sin alterar funcionalidad

Introducción

La refactorización es una técnica clave para mantener y mejorar la calidad de un código existente. Sin embargo, muchos desarrolladores se preocupan por cómo asegurar que los cambios no rompan la funcionalidad del sistema. Es aquí donde entran en juego los prompts de mejora incremental. Estos prompts ayudan a guiar el proceso de refactorización de manera segura y efectiva, manteniendo intacta la funcionalidad del código original.

Explicación principal con ejemplos

La idea central detrás de los prompts de mejora incremental es abordar el código en pequeños pedazos, permitiendo que la inteligencia artificial (IA) proporcione cambios incrementales. Este enfoque nos asegura que cada paso sea verificable y no rompa la funcionalidad del sistema.

Ejemplo: Refactorización de una función simple

Supongamos que tenemos la siguiente función en Python:

def calcular_total(precio, impuesto):
    return precio + (precio * impuesto)

Nuestro objetivo es refactorizar esta función para mejorar su legibilidad y clareza sin alterar su funcionalidad.

Paso 1: Definir el problema

Definimos un prompt que describe lo que queremos hacer:

Refactoriza la función `calcular_total` para mejorar la legibilidad, eliminando duplicidades si las hay. No cambies la funcionalidad del código.

Paso 2: Verificación de la refactorización

Después de recibir el nuevo código, podemos verificar que sigue funcionando como antes:

def calcular_total(precio, impuesto):
    total = precio * (1 + impuesto)
    return total

Podemos probar ambas versiones del código para asegurarnos de que son equivalentes:

# Prueba original
print(calcular_total(100, 0.2))  # Debería imprimir 120

# Prueba refactorizada
print(calcular_total(100, 0.2))  # Debería seguir imprimiendo 120

Errores típicos / trampas

Aunque los prompts de mejora incremental son una herramienta poderosa, hay varios errores y trampas comunes a evitar:

Trampa 1: Cambios en el comportamiento ocultos

Es fácil que la IA proporcione cambios que no son evidentes a simple vista. Por ejemplo:

# Original
def calcular_total(precio, impuesto):
    return precio + (precio * impuesto)

# Propuesta por IA
def calcular_total(precio, impuesto):
    total = precio * 1.2
    return total

Aunque la nueva versión es más compacta, no es completamente equivalente a la original.

Trampa 2: Falta de claridad en los prompts

Los prompts deben ser claros y específicos para evitar malentendidos. Por ejemplo:

Refactoriza esta función para usar variables locales.

Sin una descripción adicional, la IA podría cambiar el código de formas inesperadas.

Trampa 3: Ignorar casos especiales

A veces, los prompts no se basan en todos los casos posibles. Por ejemplo:

def calcular_total(precio, impuesto):
    if impuesto == 0:
        return precio
    else:
        return precio + (precio * impuesto)

Un prompt como "Refactoriza esta función para mejorar la legibilidad" podría olvidar el caso especial impuesto == 0.

Checklist accionable

Para asegurarte de que la refactorización se realiza correctamente, sigue estos pasos:

  1. Define claramente el problema: Escribe un prompt detallado que describa lo que quieres hacer.
  2. Usa prompts específicos: Evita genéricos como "refactoriza" y usa frases más claras.
  3. Verifica la funcionalidad: Comprueba que la funcionalidad del código no se altera después de cada cambio incremental.
  4. Mantén un registro: Documenta todos los cambios y por qué se realizaron para futuras referencias.
  5. Revisa manualmente: Siempre revisa el código generado por la IA antes de integrarlo en tu proyecto.

Siguientes pasos

Ahora que has aprendido sobre prompts de mejora incremental, aquí hay algunas sugerencias para seguir mejorando tus habilidades:

  • Practica más: Refactoriza diferentes tipos de código y analiza los cambios propuestos por la IA.
  • Expande tu conocimiento: Aprende sobre diferentes técnicas de refactorización y cómo aplicarlas con prompts adecuados.
  • Explora más recursos: Investiga sobre mejores prácticas en refactorización y cómo integrar el uso de LLMs en tus procesos.

Siguiendo estos pasos, podrás aprovechar al máximo la IA para mejorar tu código sin sacrificar su funcionalidad.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).