为什么我们com.yourcompany.noname
在 Xcode 中使用反向 URL 标识符?
2 回答
与 Java 相同 - 唯一标识我们自己。假设是,如果您有一个 URL,其他人不会使用相同的字符串。
现在为什么它被颠倒了,这是猜测,但我想说这个问题是错误的:最初是主机名从最具体的事情开始“错误”,并且它延续了历史。表单的 URLhttp:com.yourcompany.noname/bigdir/littledir/file#fragment
会更有意义(*),您从最全局的事物开始,并以最微小的细节结束,就像阅读时间或阿拉伯数字时一样。
(大多数日期格式也犯了这个错误——唯一逻辑上一致的格式是YYYY/MM/DD
,如果我们像我们一样使用数字,右边的最小单位)。
*) 另外,如果我没记错的话,URL 的创建者在记录中说他最大的遗憾是两个斜线。编辑:找到了
让我们从哲学上思考一下。
考虑普通 URL 的情况,例如noname.yourcompany.com
. 此 URL 的最高级别域是com
,因为除了您提供的 URL 之外,它还包含在一组巨大的其他 URL 中。例如apple.com
,microsoft.com
两者都属于com
顶级域。然后,yourcompany
是下一个最高级别的域,因为它属于您的公司而不是 Apple 或 Microsoft,但它本身可能包含自己的子域。
在这方面,我们可以看到,当我们从上到下遵循所谓的“正常 URL”时,实际上是从右到左阅读。在编程语言中,当我们进行范围解析时,我们希望从左到右阅读,因为这是我们大多数人编写代码的方向,我们通常从广泛的类别开始,当我们试图找到它时缩小范围我们可能正在寻找一种难以捉摸的功能。
这就是为什么在设计为类似于 Internet 域的命名空间方案中,我们最终会得到向后看的名称。从某种意义上说,是“错误”的网址。