← Python para automatización defensiva

Lección 00

Pensar como un programa defensivo

Comprende datos, decisiones, repeticiones y errores sin experiencia previa.

18 min 8 retos

Antes de practicar

01 // Define la entrada y sus fallos

Un programa defensivo convierte datos en una decisión revisable. Describe el formato esperado, valida cada valor y decide qué hacer cuando no cumple. Si un número llega como texto, conviértelo sólo después de validarlo y trata el fallo de conversión como parte del diseño.

02 // Escribe reglas con alcance y contexto

Para detectar varios fallos de acceso, define la entidad, la ventana de tiempo y el umbral antes de recorrer eventos. Contar todo un archivo o alertar por cada fallo aislado mezcla situaciones distintas.

Ejemplo: varios fallos de la misma cuenta en una ventana corta justifican observación adicional. No prueban por sí solos una causa ni autorizan una acción irreversible.

03 // Limita el recorrido

Valida la raíz autorizada, las extensiones esperadas y cada ruta antes de abrirla. Una carpeta de laboratorio es un límite, no una invitación a recorrer el disco. Mantén separadas las fases de descubrir y corregir para que una ruta inesperada se reporte en lugar de modificarse.

04 // Haz visibles los errores esperados

Captura la excepción específica que sabes tratar, registra contexto y aplica una política clara: continuar, rechazar el lote o detenerse. No sustituyas una fecha inválida ni descartes la línea sin contarla.

Ejemplo: prueba la regla con un conjunto pequeño y reporta registros leídos, aceptados y rechazados. Que el programa termine sin una excepción no demuestra que clasificó bien; la salida debe explicar el criterio y permitir repetir la decisión con los mismos límites.

Ponlo en práctica

Guías de esta lección