Regla cero uno infinito

De Wikipedia, la enciclopedia libre

La regla cero uno infinito (ZOI) es una regla general en el diseño de software propuesta por el pionero de la informática Willem van der Poel . [1]​ Sostiene que no deberían permitirse límites arbitrarios al número de instancias de un tipo particular de datos o estructura. En cambio, una entidad debería estar prohibida por completo, solo debería permitirse una o debería permitirse cualquier número de ellas. [2]​ Aunque varios factores ajenos a ese software en particular podrían limitar este número en la práctica, no debería ser el software en sí el que ponga un límite estricto al número de instancias de la entidad.

Se pueden encontrar ejemplos de esta regla en la estructura de los directorios de muchos sistemas de archivos (también conocidos como carpetas):

  • 0: el directorio superior no tiene directorios principales; es decir, no hay ningún directorio que contenga el directorio superior.
  • 1: cada subdirectorio tiene exactamente un directorio principal (sin incluir accesos directos a la ubicación del directorio; si bien dichos archivos pueden tener íconos similares a los íconos de los directorios de destino, no son directorios en absoluto).
  • Infinito : cada directorio, ya sea el directorio superior o cualquiera de sus subdirectorios, de acuerdo con las reglas del sistema de archivos, puede contener cualquier cantidad de archivos o subdirectorios. Los límites prácticos de este número se deben a otros factores, como el espacio disponible en los medios de almacenamiento y el buen mantenimiento del sistema operativo de la computadora.[cita requerida]</link>[ cita necesaria ]

En el diseño de software del mundo real, las violaciones de esta regla general son comunes. Por ejemplo, el sistema de archivos FAT16 impone un límite de 65.536 archivos por directorio. [3]

Paternidad literaria[editar]

Van Der Poel confirmó que él fue el creador de la regla, pero Bruce MacLennan también reivindicó la autoría (en la forma "Los únicos números razonables son el cero, el uno y el infinito"), escribiendo en 2015 que:

Por supuesto, el principio cero uno infinito fue pensado como un principio de diseño para lenguajes de programación, y cosas similares, para mantenerlos cognitivamente manejables. Lo formulé a principios de los 70, cuando estaba trabajando en el diseño de lenguajes de programación y me molestaban todos los números arbitrarios que aparecían en algunos de los lenguajes de la época. ¡Ciertamente no tengo ningún argumento en contra de las estimaciones, límites, o números en general! Como dijiste, el problema está en los números arbitrarios. No creo que lo haya usado impreso antes de escribir mi libro PL de 1983 [Principios de lenguajes de programación: Diseño, Evaluación, e Implementación]. Dick Hamming me animó a organizarlo en torno a principios Kernighan & Plauger y (Strunk & White), y el principio cero uno infinito fue uno de los primeros. (FWIW, el nombre “Principio Cero Uno Infinito” fue inspirado por George Gamow’s libro, “Uno, Dos, Tres… Infinito,” que leí en la escuela primaria.) [4]

Referencias[editar]

  1. «Willem Louis Van Der Poel». Consultado el 25 de agosto de 2023. 
  2. «Zero-One-Infinity Rule». Jargon File. 
  3. «NTFS vs. FAT vs exFAT». NTFS.com. Consultado el 9 de marzo de 2015. 
  4. «The Zero, One, Infinity Disease». Consultado el 30 de junio de 2019. 

Enlaces externos[editar]