Wiki:Рекомендации по созданию шаблонов

Поделись знанием:
Перейти к: навигация, поиск
ВП:РСШ

Рекомендации

Пользуйтесь мета-шаблонами

Не забывайте, что уже есть шаблоны {{карточка}}, {{Геокар}}, {{навигационная таблица}}, {{навигационная полоса}}, {{ambox}}, {{userbox}} и подобные, на основе которых вы можете быстро и просто создавать свои. Подобная практика: 1) помогает внедрению новых технологий в существующую систему шаблонов, 2) позволяет легко менять стили отображения (как глобальные, так и просто конкретным участникам).

Не используйте идентификаторы без необходимости

Не надо включать в теги шаблона параметр id, если он вами не используется для каких-либо целей. В том числе не стоит его включать для того, чтобы задать элементу оформление, — практически каждый стандартный идентификатор дублируется классом. К тому же стоит подумать, не может ли шаблон быть включён в статью дважды: два одинаковых id в документе не соответствуют спецификации (X)HTML.

Включайте только осмысленные классы

Не надо использовать класс infobox для навигационной полосы только потому, что он вам подошёл по цвету. Также не нужно оформлять навигационные шаблоны, пользуясь классом wikitable. Есть один достаточно универсальный класс — standard, все остальные имеют собственное предназначение. Это значит, что 1) стоит их использовать в тех шаблонах, для которых они предназначены (даже если они вам не полностью подходят, мелочи можно исправить с помощью стилей), 2) не стоит использовать их в других шаблонах.

Откажитесь от устаревших шаблонов и технологий

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

Документируйте шаблоны

Никогда не забывайте добавлять документацию в шаблон, даже если вы считаете, что он простой. Всегда проще скопировать заготовку, чем копаться в коде шаблона. Если же он сложный, задача разобраться в работе шаблона может занять на порядок больше времени. Также желательно указывать как шаблон работает с категориями и что происходит при неправильном заполнении параметров. Вставлять документацию предпочтительно при помощи шаблона {{doc}}.

Создание и выбор названия для шаблона

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

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

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

Пока сообщество не выработало однозначного консенсуса[1] по поводу того, какое название шаблона должно быть основным, не рекомендуется их переименование, за исключением очевидных случаев. Также крайне негативная реакция возможна в ответ на правки статей, изменяющие только названия шаблонов - подобная операция должна предварительно обсуждаться.

Не создавайте тривиальные шаблоны

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

{{Категория только в статьях|Название категории}}
{{#if:{{NAMESPACE}}||[[Категория:Название категории]]}}

Но могут быть и исключения:

  1. Если планируется часто менять небольшую часть шаблона, то это позволит не засорять его историю правок;
  2. Если такое использование позволяет унифицировать оформление.
  3. Какой-либо элемент оформления технически затруднительно или невозможно использовать в шаблонах.

Нежелательно также создавать шаблон, предполагающий только одно включение только в одной статье[2]. В особенности, если таким образом выносится в пространство шаблонов часть текста статьи, таблицы и галереи изображений — такая практика обычно ничем не оправдана, к тому же для неопытных пользователей становится неочевидной возможность исправления данных, представленных в таком виде.

Подумайте об условиях категоризации

Прежде чем включать в код шаблона категоризацию подумайте, для каких именно страниц предназначен ваш шаблон. Всегда проверяйте пространство имён страницы с помощью магического слова {{ns:цифра}}. Это позволит исключить неправильную категоризацию. Частая ошибка — непреднамеренное включение (через шаблон) личной страницы в категорию для статей.

Всегда предусматривайте параметр nocat в виде {{#if:{{{nocat|}}}||<includeonly>[[Категория:Название категории]]</includeonly>}}. Это отключит категоризацию при вызове шаблона с параметром nocat=1 (распространённая практика)

Не забывайте категоризировать и сами шаблоны, включая категории в теги <noinclude>[[Категория:Название категории для шаблонов]]</noinclude>. Желательно делать это на странице документации.

Подписывайте изображения

Никогда не делайте пустым описание изображений в шаблоне:

[[Файл:Example.jpg| ]]
[[Файл:Example.jpg]]
[[Файл:Example.jpg|Пример]]

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

Примечания

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

См. также