Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 为什么标签应该用空格分隔?_User Interface_Tags_User Experience - Fatal编程技术网

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

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

我正在开发一个使用Stackoverflow标记等标记的Web应用程序。我注意到很多使用标签的网站都是用空格分隔的,这不允许像

"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和客户机服务器数据库编写了代码。)

    也许它鼓励人们用最简单的方式表达他们的想法,即一个词。这样你就可以在标签中使用逗号,比如最喜欢的情侣列表:弗雷德、露西·布拉德、安吉丽娜·安东尼、克利奥帕特拉!