Что такое стандартный код?


384

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

Бонусный вопрос, у кого возник термин?


68
Как примечание, термин шаблон не исключает программирования. Например, юрист может дать вам 5-страничный контракт для подписания, но большая часть контракта является стандартной. Это означает, что для всех, кто получает этот контракт, то же самое, только несколько строк изменились здесь и там.
mellowsoon

26
Я не знаю ни о ком другом, но в моей компании стандартный код - это код, который управляет этим шаблоном: открывать, закрывать, стирать, заменять и т. Д.
ulty4life

1
Этот вопрос кажется не по теме, потому что речь идет о жаргоне.
Адриано Репетти

4
Я пришел сюда из-за документации Ларавела и подумал: «Что это за материал, о котором они говорят?». Прочитав некоторые ответы, я подумал, что эта прямо связанная вики-страница также показывает понимание этого вопроса: en.wikipedia.org/wiki/Boilerplate_code
Бен Франсен,

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

Ответы:


215

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

Это субъективное определение.

Термин происходит от "шаблонного" в газетной индустрии: вики


2
Идея, лежащая в основе множественных свойств в ООП, состоит в том, чтобы уменьшить шаблон, поэтому при правильном применении его можно значительно уменьшить.
Эндрю Сани

Также сказано, что это происходит из сталелитейной промышленности, где стальные плиты используются в котлах
Мохаммед Шариф C

55

По этимологии термин шаблонный : от http://www.takeourword.com/Issue009.html ...

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

Что является образцом в программировании? Как могли заметить другие, это просто кусок кода, который копируется снова и снова с небольшими изменениями или без изменений в процессе.


Существует альтернативное объяснение mentalfloss.com/article/26087/why-it-boilerplate-text, на которое я видел больше ссылок.
Fgysin восстановить Монику

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

55

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

Термин на самом деле пришел из сталелитейной промышленности.

Для немного истории , согласно Википедии :

В 1890-х гг. Образец был отлит или отштампован в металле, готовом к печати, и распространен в газетах по всей территории Соединенных Штатов. До 1950-х годов тысячи газет получали и использовали подобный шаблон от крупнейшего в стране поставщика, Союза западных газет. Некоторые компании также рассылали пресс-релизы в виде шаблонов, чтобы их печатали в письменном виде.

Теперь согласно Википедии :

В объектно-ориентированных программах классы часто снабжаются методами для получения и установки переменных экземпляра. Определения этих методов часто можно рассматривать как образец. Хотя код будет варьироваться от одного класса к другому, он достаточно стереотипен по структуре, поэтому его лучше создавать автоматически, чем писать вручную. Например, в следующем Java-классе, представляющем домашнее животное, почти весь код является стандартным, за исключением объявлений Pet, имени и владельца:

public class Pet {
    private PetName name;
    private Person owner;

    public Pet(PetName name, Person owner) {
        this.name = name;
        this.owner = owner;
    }

    public PetName getName() {
        return name;
    }

    public void setName(PetName name) {
        this.name = name;
    }

    public Person getOwner() {
        return owner;
    }

    public void setOwner(Person owner) {
        this.owner = owner;
    }
}

38

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

Boilerplate происходит от металлургической промышленности в начале 1900-х годов.


34

Из Википедии :

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

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

Современные языки пытаются уменьшить его, но также и более старый язык, который имеет определенные средства проверки типов (например, в OCaml есть средство для определения типов, которое позволяет вам избегать такого количества объявлений, которые будут стандартным кодом в более подробном языке, таком как Java)


24

Boilerplate - это то, чего избегают хорошие программисты: повторение.


36
OMG, у вас есть "ти" в ответе дважды! Как видите, повторение не всегда плохо.
Тамас Сенгель

3
Как мне избежать public static void main(String[] _)?
Корай Тугай

16

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

В разработке стека MEAN этот термин относится к генерации кода с использованием шаблона. Это проще, чем ручное кодирование всего приложения с нуля, и это обеспечивает согласованность блоков кода и меньшее количество ошибок, поскольку это чистый, проверенный и проверенный код, а также открытый исходный код, поэтому он постоянно обновляется или исправляется, поэтому экономит много времени при использовании. рамки или генератор кода. Для получения дополнительной информации о средстве стека, нажмите здесь .


8

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

Синонимы
- это шаблон, шаблон, шаблон,
шаблон. Нижний
колонтитул, шаблон,
шаблон для многократного использования, шаблон.
Подпись письма, шаблон.


7

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



2

С сайта whatis.techtarget.com :

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

Помимо программирования:

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

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

Типичным примером будет HTML5 Boilerplate .


1

Вы можете называть это «фрагментами» или, точнее, «коллекцией фрагментов». Я думаю, что термин был придуман из прессы и полиграфии, где они использовали настоящие «листы», а затем снова использовали их как куски. В современном интернете это является частью постоянной (раздражающей ИМХО) тенденции использования модные термины для простых вещей, чтобы выглядеть более модно и утонченно. см. ОТВЕТСТВЕННЫЙ = адаптируемый / текучий.


«Отрывки» не совсем то же самое значение; «шаблон» имеет тенденцию обозначать большие куски, которые должны быть изменены, чтобы соответствовать, в отличие от пары строк кода копирования / вставки / забывания. Примером может служить код для WinMainфункции в приложении Win32; он регистрирует класс окна приложения, создает главное окно, запускает цикл обработки событий и возвращает код завершения оконной процедуры. Эта функциональность часто не сильно меняется между приложениями и может быть повторно использована с относительно небольшим количеством модификаций, но она не настолько обычна, чтобы иметь большой смысл как библиотека (или фрагмент в этом отношении).
Цао

0

Шаблон - это единица записи, которую можно использовать снова и снова без изменений. В более широком смысле эта идея иногда применяется к программированию многократного использования, как в «стандартном коде».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.