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