Pravidlo nula jedna nekonečna - Zero one infinity rule
Vývoj softwaru |
---|
Hlavní činnosti |
Paradigmata a modely |
Metodiky a rámce |
Podpůrné disciplíny |
Praxe |
Nástroje |
Standardy a subjekty znalostí |
Glosáře |
Obrysy |
The Pravidlo nula jedna nekonečno (ZOI) je pravidlo v softwarový design navrhováno[když? ] brzy výpočetní průkopník Willem van der Poel.[1] Tvrdí, že svévolné omezení počtu instancí určité entity[žargon ] by nemělo být povoleno. Konkrétně by entita měla být buď úplně zakázána, pouze jedna by měla být povolena, nebo by měl být povolen libovolný počet z nich.[2] Ačkoli různé faktory mimo tento konkrétní software mohl tento počet v praxi omezit, neměl by to být samotný software, který by tvrdě omezil počet instancí entity.
Nepovolit žádný z foo, jeden z foo, ani žádný počet foo.
Jediné rozumné číslo je nula, jedna a nekonečno.
— Bruce J. MacLennan
Příklady tohoto pravidla lze nalézt ve struktuře mnoha souborové systémy 'adresáře (známé také jako složky):
- 0 - nejvyšší adresář má nulu nadřazené adresáře; to znamená, že neexistuje žádný adresář, který obsahuje nejvyšší adresář.
- 1 - Každý podadresář má přesně jeden nadřazený adresář (kromě klávesových zkratek k umístění adresáře; i když tyto soubory mohou mít podobné ikony jako ikony cílových adresářů, nejsou to vůbec adresáře).
- ∞ (nekonečno) - Každý adresář, ať už nejvyšší adresář nebo některý z jeho podadresářů, může podle pravidel systému souborů obsahovat libovolný počet souborů nebo podadresářů. Praktická omezení tohoto počtu jsou způsobena jinými faktory, například dostupným prostorem na paměťová média a jak dobře počítač funguje operační systém je udržovaný.[Citace je zapotřebí ]
Porušení tohoto obecného pravidla skutečně existuje: například některé souborové systémy ukládají limit 65 536 (tj. 216) soubory do adresáře.[3]
Autorství
Van der Poel potvrdil, že byl původcem pravidla, ale Bruce MacLennan také prohlásil autorství:
Princip Zero-One-Infinity byl samozřejmě zamýšlen jako princip návrhu pro programovací jazyky a podobné věci, aby byly kognitivně zvládnutelné. Formuloval jsem to počátkem 70. let, kdy jsem pracoval na designu programovacího jazyka, a rozčiloval jsem se nad libovolnými čísly, která se objevila v některých jazycích dneška. Rozhodně nemám argument proti odhadům, limitům nebo číslům obecně! Jak jste řekl, problém je s libovolnými čísly. Nemyslím si, že jsem to použil v tisku, než jsem napsal svou knihu PL z roku 1983. Dick Hamming mě povzbudil, abych to uspořádal podle principů (a la Kernighan & Plauger a Strunk & White), a princip Zero-One-Infinity byl jedním z prvních. (FWIW, název „Princip Zero-One-Infinity“ byl inspirován knihou George Gamowa „One, Two, Three… Infinity“, kterou jsem četl na základní škole.) [4]
Reference
- ^ http://c2.com/cgi/wiki?WillemLouisVanDerPoel
- ^ „Zero-One-Infinity Rule“. Soubor žargonu.
- ^ „NTFS vs. FAT vs. exFAT“. NTFS.com. Citováno 2015-03-09.
- ^ „Nula, jedna, nemoc nekonečna“. Citováno 2019-06-30.