Recomendaciones para programadores

Hace tiempo supe por enlavin de una entrada de Armin Ronacher donde se describen las particularidades de programar fechas en Python. No voy a entrar a tratar los detalles: mi experiencia con este lenguaje ha sido cautivadora, pero no he tenido que descender a ciertos infiernos. Tampoco es éste un blog de programación, y cuando he tocado la informática (UnixExcelHTML), lo he intentado hacer desbrozándola de aspectos técnicos. Sin embargo, como no somos pocos los que hemos tenido que hacer malabares escribiendo código para almacenar datos o generar informes, y las recomendaciones de Ronacher son universales, y no sólo propias del lenguaje Python, me gustaría extraer las breves conclusiones a las que llega. Tan breves que se resumen en dos únicos mandamientos:

1. Trabaja internamente con UTC.
2. En la interfaz de usuario, convierte a (y desde) tiempo local.

Estas dos ideas no resultan tan obvias para un novel como para quienes ya hemos tropezado alguna vez con esta piedra. La segunda se deriva de la primera, así que no precisa justificación. Respecto a la primera, el código principal no debe contagiarse de las innumerables y a veces ridículas particularidades que afectan a la hora local: calendario, situación geográfica, horarios de verano, variaciones históricas, etc. Lo ideal es recoger todo esto en una función (si es que no existe una librería que lo proporcione) donde sólo haya que tocar una vez si fuese necesario efectuar alteraciones. Trabajar con UTC no es sólo más simple: el Tiempo Universal Coordinado no es ambiguo; la hora local, sí. Ronacher, entre quejas por la API de Python y los errores relacionados con el tzinfo, es tan tajante que reconviene incluso de añadir información sobre la zona horaria en que se estampan los tiempos. Así, dice, todavía hay una posibilidad de que algún día hagamos las cosas mejor.

Facebooktwitterlinkedin