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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
↱
  • ВП:РСШ

Рекомендации[править код]

Пользуйтесь мета-шаблонами[править код]

Не забывайте, что уже есть шаблоны {{карточка}}, {{Геокар}}, {{навигационная таблица}}, {{навигационная полоса}}, {{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. Конечно, если шаблон может быть полезен в других статьях, но пока используется только в одной, либо включается в одну статью многократно, создание такого шаблона очень даже желательно.

См. также[править код]