Regla cero uno infinito
# Regla cero uno infinito

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 . 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. 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.</link>

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.

## Paternidad literaria

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:

