User interface 为什么标签应该用空格分隔?
我正在开发一个使用Stackoverflow标记等标记的Web应用程序。我注意到很多使用标签的网站都是用空格分隔的,这不允许像User interface 为什么标签应该用空格分隔?,user-interface,tags,user-experience,User Interface,Tags,User Experience,我正在开发一个使用Stackoverflow标记等标记的Web应用程序。我注意到很多使用标签的网站都是用空格分隔的,这不允许像 "favorite recipes" "cats, birds, favorite recipes, horses" 相反,他们强制执行这个 "favorite-recipes" | "favorite_recipes" | "FavoriteRecipes" 如果标记以逗号分隔,则项可以有一组标记,如 "favorite recipes" "cats, bir
"favorite recipes"
"cats, birds, favorite recipes, horses"
相反,他们强制执行这个
"favorite-recipes" | "favorite_recipes" | "FavoriteRecipes"
如果标记以逗号分隔,则项可以有一组标记,如
"favorite recipes"
"cats, birds, favorite recipes, horses"
我必须决定我的应用程序的策略
我想我喜欢用空格分隔的想法,但如果我的用户不是程序员,他们可能更喜欢用逗号表示列表的熟悉想法
为什么逗号分隔的标记不常见?它们有一个主要的缺点吗?我认为空格分隔的标记感觉更像是键入,并且在语法上不受逗号或管道等的限制 我还认为,不允许在标记中使用空格是一件好事,因为您不必担心将它们转换为URL,因为它们已经准备好了 像Delicious这样的在线工具在标记中使用空格分隔,但像Wordpress这样的其他工具允许在标记中使用空格,因此它们需要逗号。如果你这样做,你必须创建类似的标签“slug”,以确保它们在URL中干净地工作(即,我的标签就是我的标签)
请记住,在标签创建过程中允许过多的自由可能会导致一些非常疯狂的标签,如“我喜欢在周六下午做的事情…”等等。我认为标签应该简短且切中要害 如果你去输入“最喜欢的食谱”,当它不起作用时,你会对自己说“哦,我应该重做这个。”所以你改为输入“最喜欢的食谱” 如果这是你真正需要的东西,比如“猪肉烤肉”,那么把它做成“猪肉烤肉”是有意义的,但只有在你考虑过真正加入那些工作之后。也许你不应该——也许它应该是“猪肉”“烤肉”,所以它会出现在“搜索猪肉”和“搜索烤肉”下
tl;dr这是为了用户体验和搜索,这样他们就不会输入不易搜索的内容。是的,我还认为空格分隔的标签降低了复杂性。您可以更快地输入它们,因为您有大空格键来分隔它们。也许大脑的负载也比较少,因为它不需要考虑在哪里放置逗号分隔符,在哪里不放置逗号分隔符。我曾经用标记构建过一个应用程序,并使用逗号。逗号唯一的缺点是,您必须对空标记进行更彻底的检查。例如,在示例中: 乔治·布什、比尔·克林顿、巴拉克·奥巴马、 如果有人在标签的末尾加了一个逗号,并且有一个空格,它通常会被添加到数据库中 这是因为如果你只需选中删除一次空格,你就会把比尔·克林顿变成比尔·克林顿 但是,您可以确保标记至少包含一定数量的字符,以确保没有空标记。但这并不能确保一行中没有三到四个空格 另一件需要注意的事情是,人类通常在单词前加空格,在逗号后加空格 所以在上面的例子中,每个逗号后面和每个总统前面都有一个空格。此空间将包含在制作标签的数据库中: “比尔·克林顿” 而不是 “比尔·克林顿” 正如用户可能尝试的那样 同样,您可以消除开头和结尾的空格,但在这种情况下需要实现更多的服务器端代码
如果只使用空格,则可以消除任何不需要的字符,如逗号等,并使用空格字符将标记放入数组中以分隔它们。我实际上更喜欢使用逗号或分号分隔的标记,原因有两个:
我担心其他一些答案听起来好像web开发人员(我该怎么说)比数据库开发人员更不愿意做这项工作,例如,他们多年来一直在解决这些问题。(我已经为web和客户机服务器数据库编写了代码。)也许它鼓励人们用最简单的方式表达他们的想法,即一个词。这样你就可以在标签中使用逗号,比如最喜欢的情侣列表:弗雷德、露西·布拉德、安吉丽娜·安东尼、克利奥帕特拉!