domingo, 12 de agosto de 2012

Notación abreviada de tiempos en ficheros (como sustituto de la numeración por versiones)

Los sistemas operativos no tienen, hoy por hoy, ningún tipo de problema a la hora de tratar ficheros con nombres notablemente largos (habitualmente hasta 255 caracteres), pero el hecho de ser muy descriptivo en el modo de identificar un fichero puede ser contraproducente cuando se gestionan carpetas que comprenden miles de ficheros que deben poder accederse con inmediatez.
La filosofía KISS mejora la legilibilidad y rapidez cuando es necesario localizar uno de ellos entre el montón, además de permitir un control para que la gestión no se vaya de las manos — Es por eso que resulta muy apropiada para etiquetar cualquier tipo de colección de ficheros.

Aquí explicaré la manera en que he aplicado este concepto para marcar e identificar archivos mediante fechas y tiempos. Sin más dilaciones...


¿Cómo es la notación abreviada de tiempos?


La palabra mes empieza con la letra 'm' en albanés, alemán, búlgaro, castellano, catalán, checo, croata, danés, francés, gallego, inglés, italiano, letón, lituano, polaco, portugués y ruso; igualmente sucede con la palabra minuto. Seguramente haya otros idiomas en los que también ocurra esta coincidencia pero sirve para describir la versatilidad del concepto a la hora ponerlo en práctica.
Personalmente, esta aplicación me ha servido para facilitar la tarea cuando he necesitado distribuir ficheros con eficacia en proyectos colaborativos y archivar o reportar documentación debido a que conforma un formato básico capaz de describir fechas insertadas en el nombre de un fichero a modo de versiones, de forma breve, clara y con una gran flexibilidad.

Estableciendo que para enumerar el año se emplean cuatro dígitos y tanto para el mes como el día haremos uso de dos, se convierte en algo intuitivo y muy simple; veámoslo con ejemplos:

2009M0115 -> 15 de enero del año 2009
1997M1203 -> 3 de diciembre del año 1997

Incluso el orden podría cambiar:

200113M05 -> 13 de mayo del año 2001
M03200506 -> 6 de marzo del año 2005
Esta última tal vez sería menos acertada puesto que añade una ambigüedad y  opción a confusión como: M11202021 -> Ojo, ¿es 21 de noviembre del año 2020 o 20 de noviembre del 2021?

Lo más recomendable es, por tanto, que el mes siempre esté en medio para aprovechar la M como elemento aislante; también lo es comenzar con el año en tareas de archivado. O incluso trasladar parte de la estructura al nombre de la carpeta que contiene los ficheros.
En cualquier caso, todas las opciones son posibles mientras se acuerde y establezca de antemano un esquema único para el etiquetado.

Incrementar la precisión añadiendo hora y minutos es igualmente sencillo puesto que se establecen dos condiciones adicionales: hora y minutos utilizan dos dígitos y antes de la cifra de los minutos se añade una 'm' minúscula, igual que se hizo con el mes. Ejemplos:

2002M091218m11 -> Las 6 y 11 pm del 12 de septiembre del año 2002
11m33M06200613 -> Las 11 y 33 am del 13 de junio del año 2006

Hay cierta posibilidad de intercambio en el orden, salvo la opción de separar la hora de los minutos que, de nuevo, sería algo indeseable por lo confuso, aparte de no ser nada habitual.

Una vez se establecen las convenciones y libertades elegidas entre los participantes resulta extremadamente sencillo saber cuál es la última versión y cuándo se realizó cada una de ellas.


¿Cuál es la ventaja sobre el formato clásico de fechas?


Una pregunta legítima que cabría hacerse es, por qué reinventar la rueda. ¿Qué tiene de malo poner una fecha como se ha hecho siempre, en formato día-mes-año, tal como 13-06-2006?

La desventaja está respecto a la forma en que los sistemas operativos en la informática muestran la lista de ficheros y carpetas. El orden empleado sólo toma en cuenta el valor ordinal del primer carácter, sin otras consideraciones. De manera que el sistema operativo no sabe establecer una jerarquía -por ejemplo, no percibe que el año tiene más relevancia a la hora de ordenar cronológicamente que el mes o el día- salvo la que se le ofrezca de izquierda a derecha y mostrará las carpetas desordenadamente. Por ejemplo, 3 ficheros en una carpeta siendo día-mes-año: 15-02-2001, 05-10-2006 y 30-03-2010. Windows no va a mantener el orden cronológico cuando los mueste y hará lo siguiente:
05-10-2006
15-02-2001
30-03-2010

Ordenará según la primera cifra que aparezca y si lo que se busca es tener una estructura organizada a simple vista, esto no se consigue.

Es evidente que siempre se puede invertir ese orden, dejando 2006-10-05, pero la organización que aquí se propone tiene menos caracteres (cabe más texto descriptivo después, si es necesario), es más compacta y sólo requiere un breve período de tiempo para acostumbrarse.

No hay comentarios:

Publicar un comentario