为什么标签应该用空格分隔?

| 我正在使用使用Stackoverflow标签之类的Web应用程序。我已经注意到,许多使用标签的网站都会对其进行空格分隔,从而不允许使用诸如...的标签。
\"favorite recipes\"
相反,他们强制执行此操作...
\"favorite-recipes\" | \"favorite_recipes\" | \"FavoriteRecipes\"
如果标签以逗号分隔,则一个项目可能具有一组标签,例如...
\"cats, birds, favorite recipes, horses\"
我必须为我的应用决定政策。 我想我喜欢用空格分隔的想法,但是如果我的用户不是程序员,他们可能会更熟悉用逗号表示列表的想法。 为什么用逗号分隔的标签不寻常?他们有很大的缺点吗?     
已邀请:
我认为以空格分隔的标签感觉更像是键入,并且您在语法上不受限于逗号或管道等。 我还认为,不允许在标记中使用空格是一种不错的选择,因为您不必担心将其转换为已经可以使用的URL。 诸如Delicious之类的在线工具使用空格来分隔标签,但是诸如Wordpress之类的其他工具允许您在标签中使用空格,因此它们需要逗号。如果您以这种方式进行操作,则必须创建类似的标签\“ slugs \”,以确保它们在网址中可以正常使用(即,我的标签为my-tag) 请记住,在标签创建过程中允许过多的自由度可能会导致一些非常疯狂的标签,例如\“我喜欢在星期六下午做的事... \”等。     
我认为这样的想法是标签应该简短明了。 如果您输入“收藏夹食谱”,如果它不起作用,那么您会以为自己“哦,我应该重做一次。”所以您改成“收藏夹”食谱。 如果确实是您需要的东西,例如“猪肉烤”,那么将其设置为“猪肉烤”是有意义的,但前提是您已经考虑过真正加入这些作品。也许您不应该-也许应该是“猪肉” /“烤”,这样它会出现在搜索猪肉和搜索的情况下。 tl; dr用于用户体验和搜索,因此他们不会输入无法轻松搜索的内容。     
是的,我还认为以空格分隔的标签可以降低复杂性。而且您可以更快地输入它们,因为您有很大的空格键可以将它们分开。也许大脑的负担也减少了,因为它不需要考虑在何处放置逗号分隔符,而在何处没有。     
我曾经用标签构建过一个应用,并使用了逗号。逗号的唯一缺点是您必须对空标签进行更彻底的检查。例如在示例中: “乔治·布什,比尔·克林顿,巴拉克·奥巴马,” 如果有人在标签末尾加逗号,并且通常有空格,它将被添加到数据库中。 这是因为,如果您仅选择删除一次空格,便会将Bill Clinton转换为BillClinton。 但是,您可以确保标签至少包含一定数量的字符,以确保没有空标签。但是,这不能确保连续没有三个或四个空格。 需要注意的另一件事是,人类通常在单词前和逗号后放置空格。 因此,在上面的示例中,每个逗号之后和每个总裁之前都有一个空格。该空间将包含在制作标签的数据库中: \“ 比尔·克林顿\” 代替 \“比尔·克林顿\” 因为用户可能尝试过。 同样,您可以消除开头和结尾的空格,但是在这种情况下,还有更多服务器端代码需要实现。 如果只使用空格,则可以消除任何多余的字符,例如逗号等,然后将标签放入使用空格字符分隔的数组中。     
实际上,由于两个基本原因,我实际上更喜欢使用逗号或分号分隔的标签: 更自然(以用户为中心而不是以技术人员为中心) 如示例中所示,它减少了冗余“最喜欢的食谱” \“ favorite_recipes \” \“ FavoriteRecipes \” 而且,恐怕还有其他一些答案,听起来好像Web开发人员比(例如,数据库开发人员)更愿意做这项工作(我该怎么说),而不是像数据库开发人员那样-这些问题多年。 (我已经为Web和客户端服务器数据库编码。)     

要回复问题请先登录注册