Почему теги должны быть разделены пробелом? - PullRequest
4 голосов
/ 16 апреля 2011

Я работаю над веб-приложением, которое использует теги, такие как теги Stackoverflow. Я заметил, что многие сайты, использующие теги, разделяют их пробелами, что запрещает теги вроде ...

"favorite recipes"

Вместо этого они применяют это ...

"favorite-recipes" | "favorite_recipes" | "FavoriteRecipes"

Если бы теги были разделены запятыми, элемент мог бы иметь такой набор тегов, как ...

"cats, birds, favorite recipes, horses"

Я должен выбрать политику для своего приложения.

Полагаю, мне нравится идея разделить пробелами, но если мои пользователи не программисты, им может быть удобнее знакомая идея запятых, обозначающих список.

Почему теги с разделителями-запятыми необычны? Есть ли у них серьезные недостатки?

Ответы [ 5 ]

0 голосов
/ 09 сентября 2011

Я на самом деле предпочитаю теги, разделенные запятой или точкой с запятой по двум основным причинам:

  1. Это более естественно (ориентировано на пользователя, а не на технику)
  2. Уменьшает избыточность, как отмечалось в примере «favour-recipes» «favour_recipes» «FavoriteRecipes»

И я боюсь, что некоторые другие ответы вроде бы звучат так, как будто веб-разработчики (как мне сказать,это) меньше желания выполнять работу, чем, например, разработчикам баз данных, которые годами решают одни и те же проблемы.(Я кодировал для веб и клиент-серверных баз данных.)

0 голосов
/ 16 апреля 2011

Я создал приложение с тегами один раз и использовал запятые. Единственным недостатком запятых является то, что вам нужно более тщательно проверять пустые теги. Например, в примере:

"Джордж Буш, Билл Клинтон, Барак Обама"

Если кто-то публикует теги с запятой в конце и есть пробел, он обычно добавляется в базу данных.

Это потому, что если вы просто установите флажок для удаления одного пробела, вы превратите Билла Клинтона в BillClinton.

Однако вы можете убедиться, что тег содержит как минимум определенное количество символов, чтобы не было пустых тегов. Это не гарантирует, что в строке не будет трех или четырех пробелов.

Еще одна вещь, которую стоит отметить, это то, что люди обычно ставят пробелы перед словами и после запятых.

Так, в приведенном выше примере после каждой запятой и перед каждым президентом есть пробел. Это пространство будет включено в базу данных, создав тег:

"Билл Клинтон"

вместо

"Билл Клинтон"

как пользователь, вероятно, пытался.

Еще раз вы можете исключить как начальные, так и конечные пробелы, но в этом случае нужно реализовать больше кода на стороне сервера.

Если вы просто используете пробелы, вы можете удалить любые ненужные символы, такие как запятые и т. Д., И поместить теги в массив, используя пробелы для их разделения.

0 голосов
/ 16 апреля 2011

Я думаю, что идея заключается в том, что тег должен быть коротким и конкретным.

Если вы набираете «любимые рецепты», когда это не работает, вы думаете про себя: «О, я должен повторить это». Таким образом, вы делаете "любимые" "рецепты" вместо этого.

Если это было то, что вам действительно нужно, например, "жареная свинина", то имеет смысл сделать ее "жареной свининой", но только после того, как вы подумали о том, чтобы действительно присоединиться к этим работам. Возможно, вы не должны, хотя - возможно, это должно быть «свинина» «жареная», поэтому он появляется при поисках свинины и поисках жаркого.

tl; dr Это для пользовательского опыта и поиска, поэтому они не вводят то, что не легко найти.

0 голосов
/ 16 апреля 2011

Да, я также думаю, что разделенные пробелами теги уменьшают сложность. И вы можете ввести их быстрее, потому что у вас есть большой пробел, чтобы отделить их. Возможно, мозг также менее загружен, потому что ему не нужно думать о том, где поставить разделитель запятых, а где нет.

0 голосов
/ 16 апреля 2011

Я думаю, что теги, разделенные пробелом, больше похожи на набор текста, и у вас нет синтаксической привязки к запятым, каналам и т. Д. *

Я также считаю, что запрещать использование пробелов в тегах - это хорошо, потому что вам не нужно беспокоиться о том, чтобы превратить их в URL-адреса, к которым они уже готовы.

Онлайн-инструменты, такие как Delicious, используют разделение пробелов для тегов, но другие инструменты, такие как Wordpress, позволяют иметь пробелы в тегах, поэтому им требуются запятые. Если вы делаете это таким образом, вам нужно будет создать похожие теги «slugs», чтобы убедиться, что они корректно работают в URL (т. Е. Мой тег будет my-tag)

Помните, что слишком большая свобода в создании тегов может привести к довольно сумасшедшим тегам, таким как "То, что я люблю делать в субботу днем ​​..." и т. Д.

...