Un descuento que regalaba dinero
Una perfumería online de Madrid lanzó una campaña con un 10 % de descuento. El código lo había escrito un asistente y nadie lo leyó despacio.
Un perfume de 9 € costaba menos de cero euros. Tardaron dos días en darse cuenta. Una revisión de cinco minutos lo habría evitado.
Al final de esta lección
Nota
Puedo revisar el código de la IA antes de fiarme de él.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Revisión de código | leer código con atención antes de usarlo | |
| Lista de comprobación | preguntas fijas que repasas en cada revisión | |
| Caso límite | un dato en el borde de lo permitido | 0 % |
| Dependencia | una librería de la que depende el código | |
| Clave escrita en el código | una contraseña o clave metida en el propio programa |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Si no puedes explicarlo, no lo uses
Lee el código línea a línea. En cada línea, di en voz baja qué hace.
Calcula a mano un caso sencillo: con 100 euros, ¿qué debería salir? Compáralo con lo que hace el código.
Si hay una línea que no sabes explicar, pregúntale al asistente qué hace. Después compruébalo tú. No subas código que no entiendes.
Pruébalo: lee antes de fiarte
# Un taller de bicicletas de Bilbao cobra el IVA del 21 %.
# El asistente escribió esta función para sumar el IVA a una factura.
def add_vat(amount):
return amount * 21
print("Factura de 100 euros con IVA:", add_vat(100))
# Lee la línea del return. ¿Qué tendría que salir para 100 euros?
# Cambia la línea para que salga 121.0 y vuelve a ejecutar.
Una lista de comprobación para cada revisión
Revisar de memoria hace que olvides cosas. Una lista fija te obliga a mirar siempre lo mismo.
La tabla de abajo tiene cinco preguntas. Sirven para una función de diez líneas y para un programa entero. Muchos equipos guardan una lista así en su repositorio.
Cinco preguntas antes de aceptar
| Pregunta | Qué buscas |
|---|---|
| ¿Hace lo que pedí? | Un caso calculado a mano da lo mismo |
| ¿Existen las funciones y librerías? | Nada inventado; búscalas en la documentación |
| ¿Qué pasa en los bordes? | Lista vacía, cero, cien por cien, texto en blanco |
| ¿Toca algo peligroso? | Borra archivos, cambia datos, usa claves |
| ¿Lo entendería un compañero? | Nombres claros y nada que sobre |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Lo arriesgado se mira dos veces
Algunas líneas merecen más atención: las que borran o cambian datos, las que envían información fuera y las que llevan una contraseña dentro.
También las librerías que no conoces. Un asistente puede inventar un nombre. Alguien con malas intenciones puede publicar después una librería con ese nombre. Antes de instalarla, comprueba que existe y quién la mantiene.
Un error frecuente
Advertencia
Mucha gente cree que, si el código se ejecuta sin errores, está bien. Ejecutarse solo significa que Python lo entiende. Un cálculo equivocado se ejecuta igual de bien que uno correcto.