Menos suposiciones, más código que explota: validación y errores en Python y Rye

Fuentes: Reducing Assumptions, Exploding Your Code

Este artículo muestra cómo un guion pequeño y elegante puede inflarse hasta perder su forma original cuando se añaden controles para los casos de fallo. El autor parte de un script que recibe un identificador por argumento, lee un token desde setup.json y descarga un PDF desde una API remota; lo escribe primero en Python y luego en Rye, el lenguaje del blog, y compara ambas versiones a medida que incorpora validaciones básicas (número de argumentos, tipo entero, presencia del token) y, por último, gestión completa de errores: existencia y parseo del fichero de configuración, respuesta HTTP válida, presencia de la cabecera Content-Disposition con nombre de archivo, creación del fichero local y escritura del contenido. En cada paso se ofrecen dos implementaciones paralelas para evidenciar las diferencias de estilo entre ambos lenguajes. La versión en Python crece desde unas 15 líneas hasta cerca de 45, con estructuras try/except que, según el autor, ocultan el flujo principal. La versión en Rye mantiene una estructura casi idéntica al guion original y solo incorpora palabras nuevas como check, validate, fix o defer, pensadas para manejar fallos sin interrumpir la lectura lineal. El texto defiende que no hay magia en ese resultado, sino decisiones de diseño acumuladas, y remite a la documentación del lenguaje para profundizar en sus capacidades de validación y tratamiento de errores.