Почему теги обычно пишутся строчными буквами?[закрыто]

StackOverflow https://stackoverflow.com/questions/549229

  •  23-08-2019
  •  | 
  •  

Вопрос

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

Я думал о том, почему это так.Кроме предотвращения дублирования, я не могу придумать причину использовать строчные буквы.Я считаю, что это вредит практическому аспекту тегов.Люди привыкли читать «IBM», а не «ibm», и «C#», а не «c#».Пользователю требуется немного больше времени, чтобы понять значение тега, и мне интересно, следует ли мне разрешить использование заглавных букв в моей системе тегов, или это соглашение, и я все понял неправильно.

Я хочу услышать ваше мнение.

Это было полезно?

Решение

Спросите инженера, почему что-то происходит определенным образом, и он приложит все усилия, чтобы это выяснить.;)

В этом случае я был бы склонен объяснить преобладание строчных букв сочетанием лени (программисты не желают учитывать вопросы, которые вы поднимаете) и подражания (как только вы увидите, что это сделано определенным образом на сайте S, вы склонны повторно реализовать его для сайта S' с аналогичными предположениями).

Конечно, представляется возможным магазин теги таким образом, чтобы регистр не имел значения (для целей сортировки, запроса и т. д.), но отображать теги с изначально предназначенной заглавной буквой.

Другие советы

Как вы уже заметили, это предотвращает дублирование.Люди непоследовательны в своей капитализации.Просто посмотрите на теги здесь и заметьте, что люди не могут решить, «objective-c», «objc» или «objectivec».Добавьте «Objective-C», «Objective-c» и так далее, и вы получите настоящий беспорядок.

Заметьте, я не говорю, что с капиталами невозможно справиться, просто это сложно.Например, как узнать правильную капитализацию?Просто принять первое введенное значение как правильное?Полагаться на модераторов, чтобы очистить?

Различные случаи всегда следует считать эквивалентными для тегов.

Еще одна причина хранить ваши теги в нормализованном виде.Единая нормализованная версия содержит принятый регистр, а теги связываются с помощью таблицы связей «многие ко многим».Сравнение с таблицей тегов выполняется без учета регистра, поэтому дубликатов не будет.

(В этом ответе я не советую использовать какой-либо конкретный сайт или систему — каждая конкретная система может иметь свои собственные соображения)

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

Но в любом случае это проблемы, потому что слишком часто существует более одного способа сослаться на что-то.Если ваши теги когда-либо использовались в качестве символов в каком-либо скрипте, конфигурации или коде (например,почтовые фильтры, файлы настроек, командные строки), хорошо иметь какое-то простое соглашение для их указания, и если все символы имеют одинаковое значение, позволяющее или различающее различные варианты регистра, разделения и т. д.может быть проблематично.Как пользователь Unix, я стараюсь, чтобы имена файлов были простыми, короткими, в нижнем регистре и без специальных символов, и тем более, когда они (например) являются именами почтовых ящиков или исходными файлами - поскольку их, скорее всего, придется вводить и указывать в во многих контекстах, где поступить иначе будет неудобно.

С другой стороны, при использовании сложного графического или веб-интерфейса, который позволяет легко выбирать из списка, дополнять вводимые данные, предлагать наиболее близкие совпадения и т. д., имеет смысл разрешить некое сопоставление.Дайте каждому тегу короткое простое идентификационное имя в нижнем регистре, но разрешите также дать ему «длинное» или «человеческое» имя, которое будет отображаться там, где это имеет смысл.Теги можно однозначно идентифицировать и указать по их короткому имени, но их удобнее читать по длинному имени.

Это похоже на то, как имена пользователей работают во многих системах.Я бы не стал выбирать имя пользователя со смешанным регистром, а предпочел бы, чтобы имена пользователей обрабатывались без учета регистра (поэтому я бы просто использовал регистр, который имеет смысл в системе, в которой я нахожусь, который в Unix имеет нижний регистр, но в некоторых других старых системах - верхний регистр). ).Кроме того, в большинстве систем хранится некоторая другая информация о пользователях, например их полное или полное имя, которую удобнее читать, и поэтому многие пользовательские интерфейсы (например,Windows XP, Mac OS и, я думаю, также некоторые новые интерфейсы рабочего стола Unix, такие как GNOME и KDE), отображаются в средствах входа в систему, сообщениях и т. д. на рабочем столе.

В случае с тегами для систем сообщества в сети, я думаю, решением проблемы дублирования является некоторый уровень модерации тегов, даже если только самим сообществом, а также возможность переименовывать и объединять теги (в отличие от имен пользователей в большинстве случаев). ) или отредактируйте их длинные имена, если что-то ошиблось.

Я бы хотел, чтобы теги отражали то, что они классифицируют.В этом отношении теги должны иметь ту же форму, что и объект, который они описывают.

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

Я работаю в сфере цифровых публикаций и вижу преимущества правильного использования.С другой стороны, вам будет трудно увидеть использование строчных букв в журнале, книге или газете (если только это не стилистический выбор).

http://en.wikipedia.org/wiki/List_of_case-sensitivity_English_words

Тем не менее, красота английского лексикона заключается в его способности адаптироваться, модифицироваться и развиваться.

Для меня это звучит как верный аргумент.Я уверен, что они могли бы придумать какой-нибудь простой анализ, чтобы каждое слово было написано с заглавной буквы (через тире), но как узнать, что это должно быть IBM, а не IBM?Я думаю, что для этого кому-то придется вручную изменить таблицу поиска тегов.

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

  • IBM
  • ibm
  • I B M
  • I. B. M.
  • I.B.M.

Однако существует компромисс между увеличением времени выполнения (не говоря уже о усилиях по разработке) и увеличением полезности.

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

При наборе текста вам придется включить Caps Lock, чтобы все было в верхнем регистре.Люди ленивы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top