minekirito的个人博客分享 http://blog.sciencenet.cn/u/minekirito

博文

如何理解Zero one infinity(ZOI)规则

已有 2339 次阅读 2018-11-12 20:29 |系统分类:科研笔记| Zero one or infinity, ZOI

The Zero one or infinity (ZOI)

    读论文09年的老论文的时候,看到了ZOI规则,Wiki上的解释着实有些晦涩难懂。The Zero one or infinity (ZOI) 规则是软件设计中一个的经验法则Willem van der Poel提出的330px-Willem_van_der_Poel.jpg认为不应允许对特定实体的实例数量进行任意限制。

    这个规则中最著名的一句话就是:"Allow none of foo, one of foo, or any number of foo."

    它指示人们不应该对给定实体的实例数量设置随机限制(例如:窗口系统中的窗口,OS文件名中的字母等)。 具体来说,应该完全禁止实体,只允许一个实例,或允许用户想要的数量 - 地址空间和内存允许。

虽然特定软件之外的各种因素可能会在实践中限制这个数字,但软件本身不应该对实体的实例数量施加硬性限制。

这条规则背后的逻辑是,在某些情况下, 如果一个人决定更进一步并允许NN> 1),那么为什么不进行N + 1? 如果N + 1,那么为什么不是N + 2,依此类推简单的说,一旦这个实体的数量超过1,就没有理由不允许这个实体的数量为无限大的N即,只有三种实体数量,01或无限。

在许多文件系统目录(也称为文件夹)的结构中都可以找到此规则的示例:

0的例子:最顶层的目录有零个父目录 ; 也就是说,没有包含最顶层目录的目录。

1的例子:每个子目录只有一个父目录(不包括目录位置的快捷方式;虽然这些文件可能与目标目录的图标具有相似的图标,但它们根本不是目录)。

无限的例子:根据文件系统的规则,每个目录(无论是最顶层目录还是其任何子目录)都可以包含任意数量的文件或子目录。 这个数字的实际限制是由其他因素引起的,例如存储介质上的可用空间以及维护计算机操作系统的程度。

注意,确实存在违反此经验法则的情况:例如,某些文件系统将65,536(即2 16 )个文件的限制强加给目录。

 




https://blog.sciencenet.cn/blog-3401624-1145900.html

上一篇:软件质量与软件测试相关问题(1)
下一篇:软件质量与软件测试相关问题(2)
收藏 IP: 110.16.106.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 01:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部