目录名称是“容器”还是“内容”?这个问题困扰着我,因为如果目录的名称在语义上标题为“容器”,那么该名称应该是单数。(以此类推:当提到一个包含您的杂货的实际物理包时 - 人们可能会将其称为“杂货”包而不是“杂货”包。)相反,如果有人断言目录标题的名称目录的内容,那么使用复数形式会更有意义。
我知道这个问题存在常识甚至可用性问题;然而,虽然我想听听这两个选项的实际结果,但我更关心语义。
总而言之:目录的名称是容器的标题还是内容的标题?
谢谢。
目录名称是“容器”还是“内容”?这个问题困扰着我,因为如果目录的名称在语义上标题为“容器”,那么该名称应该是单数。(以此类推:当提到一个包含您的杂货的实际物理包时 - 人们可能会将其称为“杂货”包而不是“杂货”包。)相反,如果有人断言目录标题的名称目录的内容,那么使用复数形式会更有意义。
我知道这个问题存在常识甚至可用性问题;然而,虽然我想听听这两个选项的实际结果,但我更关心语义。
总而言之:目录的名称是容器的标题还是内容的标题?
谢谢。
目录本身不需要名称,因为没有任何内容的目录是无用的。存在目录以将一组文件组合在一起。即使一个目录当前是空的,它也代表这样一个组,只是这个组中当前没有文件,所以它是空的。因此,目录的名称应始终描述您可以在该目录中找到的内容。
假设您有一个带盒子的抽屉,并且您使用这些盒子将物理对象组合在一起。要知道每个盒子里面有什么,而不必先打开盒子看看里面,你给盒子贴上标签。你会如何标记这些盒子?
如果一个盒子里有铅笔,你会给它贴上铅笔而不是铅笔的标签,对吗?如果一个盒子里有回形针,你会给它贴上回形针而不是回形针的标签,不是吗?这是因为在这些情况下,标签只描述了在 box 中可以找到的项目类型。目录也是如此。包含图片的目录最有可能命名为Pictures,因此您知道可以在其中找到的文件是图片类型。
但有时您将项目组合在一起,不是因为它们属于同一种类,而是因为它们属于同一个“实体”。例如,如果您有一个大盒子,其中包含与您 2012 年日本之旅相关的所有项目,您可以将其标记为“日本之旅,2012 年”,或者只是“日本,2012 年”。实际上,您可以将其标记为“ 2012 年日本之旅物品”,但“物品”是多余的,因为很明显您会在里面找到物品。与将“文件”添加到目录名称相同的方式是多余的。因此,如果您没有对文件进行分组,因为文件本身有一些共同点,而是因为它们属于一个共同的“实体”,那么您通常以该实体命名目录,因为它只是一个这样的实体,所以它是单数的。
包含彼得生日照片的目录很可能被命名为Pictures/Peter's Birthday。另一方面,如果你年复一年地保留彼得每个生日的照片,你宁愿使用像Pictures/Peter's Birthdays/2016这样的结构。请注意它是如何突然变成“生日”的,因为现在目录名称再次描述了在里面找到的项目类型,而不是单个事件/目的。
作为一般经验法则:始终以这样一种方式命名目录,即目录名称的读者非常清楚他们可以在该目录中找到什么样的文件和其他目录,因此他们可以决定它是否是只需阅读目录名称就可以“去那里”或不感兴趣。
如果你命名一个目录Recipe,读者会期望在里面找到什么?我希望找到一个或多个文件,所有文件都属于一个食谱,例如一份简短的配料表、一份较长的说明文本,也许还有一些支持照片。相反,如果您将目录命名为Recipes,读者希望在那里找到什么?我希望有几个食谱,或者多个文件,每个文件都包含一个食谱或多个子目录,每个子目录都包含属于一个食谱的文件。通过这个简单的例子你可以清楚地看到,你是否选择复数会影响读者的期望。
我的第一个冲动是说您根据其内容命名一个通用容器。但为了好玩,我会更深入地挖掘。(如果您只想总结结论,请滚动到最后。)
首先,我不认为 Tum 的汽车和蛋糕例子对我们有很大帮助。当然,它们是由更简单的组件制成的,但仅用于创建新的自包含对象。购物袋是分子的集合——那又怎样。要问的更有意义的是:对象的根本目的是容纳其他对象吗?换句话说,它是不是一个通用容器,就像文件系统中的文件夹一样?你肯定会拒绝蛋糕。你可能会对这辆车回答“不”(尽管它确实会载人)。你肯定会对购物袋回答“是” 。
在您的杂货袋示例中,您说我们将其称为杂货袋而不是杂货袋。当然。以下句子在语法上都是正确且自然的:
只有当听众知道我们刚刚去购物并且可以在我们不告诉他们的情况下推断出所述袋子的内容时,第一句话才有意义。如果没有这些信息,据我们所知,这些袋子可能含有毒蛇。第二句是最具描述性的,但包含冗余信息。任何熟悉杂货和购买过程的人都可以合理地推断它们将装在袋子里。第三句话以最简洁的方式告诉我们我们需要知道的一切。
第四句完全采用了不同的方法,标记了生产杂货的单一活动。但它并没有告诉我们我们购买了什么样的产品,所以它没有描述性。(有时这种方法是最好的选择,这将在其他示例中看到。)
如果您在任何新的 Windows PC 或 Mac 上查看用户的主文件夹,您会发现它预先填充了文档、下载和图片等文件夹。一个标有“图片”的文件夹告诉我们我们需要知道的一切。您可以选择为所有目录名称添加“dir”、“folder”或类似多余的后缀,但这并没有增加任何意义。(我大到可以记得看到过去的 Mac 用户在文件夹名称的末尾添加“ƒ”字符(通过按 Option-F 生成)。疯狂的时代。)
啊,但也有例外!在我的 Mac 上,Apple(当然,以其无限的智慧)为三个子文件夹选择了单数名称:Desktop、Library 和 Public。有人怀疑,其基本原理是没有人知道桌面包含什么——甚至用户通常也不知道!同样,公用文件夹可能包含任何内容。为了让所有学术都具有学术性,我们将其称为异构集合。这就像你在圣诞节时拿出的那一大盒东西,里面装满了诸如金属丝、小玩意、长袜、包装纸和假雪之类的东西——根据其目的和主题,更容易将其标记为“圣诞节”。
Library 文件夹是一个有趣的文件夹——与其说是因为 Apple 没有根据其内容命名它,还因为它为我们提供了一个有趣的真实示例。库的目的是保存其他对象,还是它本身就是一个功能对象?我会说它在中间的某个地方。假设我们决定根据内容标记一个真实世界的库。我们可以称它为“书籍”。(大多数图书馆不仅仅包含书籍,但为了简单起见,我们假设我们的图书馆只包含书籍。)图书馆可以在前面挂一个大牌子,上面写着“书籍”——但你可能会认为这些书是为了出售,而不是免费借用。你可能会这样认为,因为你生活在一个资本主义社会,大多数大牌都在试图兜售一些东西。.
还有一个您没有在问题中提供的上下文问题。这些目录存储在哪里?它们是在您的个人计算机上,还是在 Web 服务器上?为什么这有关系?好吧,在您的 PC 上,您可能正在 GUI 中查看每个文件夹,其中标签附加到单个图标。但是,如果目录是网站结构的一部分,则用户更有可能只会将名称视为文件路径的一部分(如果他们注意到它们的话)。这里的问题是,你在乎吗,如果是,你想让文件路径读起来像一个句子吗?最好用一个例子来说明这一点:
http://acme.com/order/explosive/detonator/dx3000
虽然每个类别都可以是复数,但通过使用单数目录名称,路径读起来更像是一个英文句子。虽然这似乎有点强迫,但您确实在某些网站上看到了这种方法。
TL;DR:当容器的功能或主题比其内容更具描述性时,单个标签(例如库、桌面、圣诞节)效果最好。集合越异构,这种方法就越有可能有意义。但在大多数情况下,标记集合的复数内容(例如文档、下载、图片)更容易且更具描述性。
有趣的问题。
如果您将类视为标签名称的替代品(使用 a<div>
或 a时您会做的事情<span>
,它们没有语义含义),您的类将不得不描述元素的内容。
但同时,它自身的元素就是内容。如果你看一辆车,你会说“这是一辆汽车”,你不会说“这些是汽车零件”。或者,如果你吃蛋糕,你称它为“蛋糕”而不是“配料”。
所以我猜一个语义类名应该是单数而不是复数,因为它总是只有一个元素。这可能会导致在您的类名中使用大量“包装器”,因为为您的元素找到合适的名称并不总是那么容易。
我希望这能回答您的问题,如果不是,您可能想阅读以下内容:http ://css-tricks.com/semantic-class-names/