Шаблонный код

редактировать
Код, который должен быть включен во многие места с небольшими изменениями или без них

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

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

Содержание

  • 1 Источник
  • 2 Преамбула
  • 3 В объектно-ориентированном программировании
  • 4 HTML
  • 5 См. Также
  • 6 Ссылки

Источник

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

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

Преамбула

Одна форма шаблона состоит из объявлений, которые, хотя и не являются частью программной логики или основного синтаксиса языка, добавляются в начало исходного файла. по обычаю. Следующий пример Perl демонстрирует шаблон:

#! / Usr / bin / perl use warnings; используйте строгий;

Первая строка - это shebang, которая идентифицирует файл как сценарий Perl, который может выполняться непосредственно в командной строке (в системах Unix / Linux). Два других - это прагмы включение предупреждений и строгого режима, которые требуются модным стилем программирования Perl .

Следующий пример представляет собой шаблон языка программирования C / C ++ , #includeguard.

#ifndef MYINTERFACE_H #define MYINTERFACE_H... #endif

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

В объектно-ориентированном программировании

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

public class Pet {private String название; владелец частного лица; общедоступное домашнее животное (строковое имя, владелец лица) {this.name = name; this.owner = владелец; } public String getName () {возвращаемое имя; } public void setName (имя строки) {this.name = name; } public Person getOwner () {возвращение владельца; } public void setOwner (владелец лица) {this.owner = owner; }}

Большая часть шаблона в этом примере предназначена для обеспечения инкапсуляции. Если бы переменные name и owner были объявлены как public, методы доступа и мутаторы не понадобились бы.

Чтобы уменьшить количество шаблонов, было разработано множество фреймворков, например Ломбок для Java. Тот же код, что и выше, автоматически генерируется Lombok с использованием аннотаций Java, что является формой метапрограммирования :

@AllArgsConstructor @Getter @Setter public class Pet {private String name; владелец частного лица; }

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

case class Pet (var name: String, var owner: Person)

Или в C # с использованием автоматических свойств с поддерживающими полями, созданными компилятором:

открытый класс Pet {общедоступная строка Name {get; задавать; } Владелец публичного лица {получить; задавать; }}

HTML

В HTML следующий шаблон используется как базовый пустой шаблон и присутствует на большинстве веб-страниц:

WHATWG HTML Living Standard определяет, что теги , и можно безопасно опускать в большинстве случаев. Тег также может быть опущен, если веб-сервер правильно настроен для отправки кодировки символов вместе с типом контента. Руководство по стилю HTML / CSS от Google рекомендует опустить все необязательные теги, в результате в гораздо более компактном шаблоне:

См. также

  • Директива (программирование) - языковая конструкция, которая указывает, как компилятор должен обрабатывать свой ввод
  • Макропроцессор общего назначения - Макропроцессор, который не привязаны к конкретному языку или части программного обеспечения и не интегрированы с ними.
  • Библиотека (вычислительная) - Коллекция энергонезависимых ресурсов, используемых компьютерными программами, часто для разработки программного обеспечения.
  • Макро (информатика) - понятие в информатике
  • Препроцессор - Программа, которая обрабатывает ввод для другой программы
  • Фрагмент (программирование) - Небольшая область повторно используемого исходного кода, машинного кода или текста
  • Обработчик шаблонов - Программное обеспечение, предназначенное для объединения шаблонов с моделью данных для создания результирующих документов
  • Система веб-шаблонов - Система веб-публикаций, которая позволяет веб-дизайнерам и разработчикам работать с веб-шаблонами для автоматического создания пользовательских веб-страниц.
  • Scaffold (программирование) - Метод генерации кода или метод генерации проектов

Ссылки

Последняя правка сделана 2021-05-12 13:13:44
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте