Що таке код котла?


384

Співробітник ніколи не чув про це, і я не міг дати реального визначення. Для мене це завжди був екземпляр "Я знаю-це-коли-коли-то бачу".

Бонусне запитання, хто виник цей термін?


68
Як зауважимо, термін котельні не виключно для програмування. Наприклад, адвокат може дати вам підписати 5-сторінковий договір, але більшість контрактів є котловиною. Це означає, що це те саме для всіх, хто отримує цей контракт, лише кілька рядків змінені тут і там.
mellowsoon

26
Я не знаю ні про кого іншого, але в моїй компанії код котла - це код, який управляє
котельною панеллю

1
Це питання видається поза темою, оскільки йдеться про жаргон.
Адріано Репетті

4
Я прийшов сюди через документацію Ларавеля і подумав .. "Що це за котельні речі, про які вони говорять?". Прочитавши кілька відповідей, я подумав, що ця безпосередньо пов’язана вікі-сторінка також дає зрозуміти це питання: en.wikipedia.org/wiki/Boilerplate_code
Бен Франсен

1
Я почув цей термін недавно, тому мені цікаво дізнатися, чи можу я назвати їх плагіном або модулем для мов програмування.
Анжіль Панчал

Відповіді:


215

"код котла" - це будь-який, здавалося б, повторюваний код, який з’являється знову і знову, щоб отримати якийсь результат, який здається, що він повинен бути набагато простішим.

Це суб'єктивне визначення.

Термін походить від "котельні" в газетній галузі: wiki


2
Ідея, що лежить в основі багатопрофільних властивостей OOP, полягає в тому, щоб зменшити котельну плиту, тому при правильному застосуванні її можна зменшити досить небагато.
Андрій Сани

Це також сказано, що воно походить із металургійної промисловості, де використовуються сталеві пластини в котлах
Mohammed Shareef C

55

У етимології термін котельня : від http://www.takeourword.com/Issue009.html ...

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

Що являє собою котельну табличку в програмуванні? Як вже вказували інші, це лише шматок коду, який копіюється знову і знову з невеликими або відсутніми змінами, внесеними до нього в процесі.


Є альтернативне пояснення mentalfloss.com/article/26087/why-it-boilerplate-text, на яке я побачив більше посилань.
fgysin відновила Моніку

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

55

Код котла означає частину коду, яку можна використовувати знову і знову. З іншого боку, кожен може сказати, що це фрагмент коду для багаторазового використання.

Термін насправді прийшов з металургійної промисловості.

Трохи історії , згідно Вікіпедії :

У 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

Це код, який може використовуватися багатьма програмами / контекстами з незначною або без змін.

Котельну плиту отримують з металургійної промисловості на початку 1900-х років.


34

З Вікіпедії :

У комп'ютерному програмуванні котловарна плита - це термін, який використовується для опису розділів коду, які повинні бути включені в багатьох місцях з незначними або зовсім іншими змінами. Він частіше використовується при посиланні на мови, які вважаються багатослівними, тобто програміст повинен написати багато коду для виконання мінімальних завдань.

Тож в основному ви можете розглянути код котла як текст, який потрібен мові програмування дуже часто навколо програм, які ви пишете цією мовою.

Сучасні мови намагаються зменшити його, але також і старішу мову, яка має специфічні перевірки типів (наприклад, OCaml має типовий підхід, який дозволяє вам уникнути такої кількості декларацій, які були б кодовою табличкою на більш багатослівній мові, як Java)


24

Boilerplate - це те, чого уникають хороші програмісти: повторення.


36
OMG, у твоєму відповіді двічі "ти"! Як бачите, повторення не завжди є поганим.
Тамас Сенгель

3
Як я уникаю public static void main(String[] _)?
Корай Тугай

15

Бойлер в розробці програмного забезпечення може означати різні речі для різних людей, але зазвичай означає блок коду, який використовується знову і знову.

У розробці стека MEAN цей термін відноситься до генерації коду за допомогою шаблону. Це простіше, ніж ручне кодування всієї програми з нуля, і це дає послідовність блоку коду та меншу кількість помилок, оскільки він чистий, перевірений і перевірений код, і це відкритий код, тому він постійно оновлюється або виправляється, тому це економить багато часу як використання фреймворк або генератор коду. Для отримання додаткової інформації про стек MEAN натисніть тут .


7

На практиці, код котла - це речі, які ви вирізаєте по всьому світу. Часто це такі речі, як заголовок модуля, плюс деякі стандартні / необхідні декларації (кожен модуль повинен оголосити реєстратор, кожен модуль повинен оголосити змінні для свого імені та перегляду тощо). У моєму поточному проекті ми пишемо обробники повідомлень і всі вони мають однакову структуру (прочитайте повідомлення, підтвердіть його, обробіть) і щоб усунути залежності серед обробників, ми не хотіли, щоб вони успадковували їх від базового класу, тому ми придумали скелет котла. Він оголосив усі звичайні змінні, стандартні методи, рамки обробки виключень - все, що розробник повинен був зробити, це додати код, специфічний для повідомлення, яке обробляється. Це було б швидко та просто у використанні,


7

На сьогоднішній день визначення багатьох котлів стає більш глобальним у багатьох інших мовах програмування. Він походить від OOP та гібридних мов, які стали OOP та були раніше процедурними, тепер мають ту саму мету - повторити код, який ви будуєте, за допомогою моделі / шаблону / класу / об’єкта, отже, чому вони адаптують цей термін. Ви створюєте шаблон, і єдине, що ви робите для кожного примірника шаблону - це параметри для індивідуалізації об'єкта, цю частину ми називаємо котельною. Ви просто повторно використовуєте код, з якого ви створили шаблон, просто з різними параметрами.

Синоніми
креслення - котельня,
трафарет - котельня,
колонтитул - це шафа,
схема дизайну для багаторазового використання - котельня,
підпис пошти - котельня



2

З whatis.techtarget.com :

В інформаційних технологіях котловарна плита - це одиниця письма, яку можна повторно використовувати знову і знову без змін. За розширенням ця ідея іноді застосовується до програмування багаторазового використання, як у "кодовому коді". Термін походить від виробництва сталі, коли котельну плиту сталь згортають у великі плити для використання в парових котлах. Наслідком є ​​або те, що написання на котлах було випробувано часом і міцне, як "сталь", або, можливо, що воно було розгорнуте в щось досить сильне для повторного використання.

Крім програмування:

Котельну плиту можна порівняти з певним типом шаблону, який можна розглядати як заповнювальну плиту котла. Деякі типові котли включають: заяви місії, попередження про безпеку, загальновідомі процедури встановлення, заяви про авторські права та відмову від відповідальності.

З мого досвіду як програміста, належний вид кодового шаблону, як правило, є купою коду, який ви починаєте з того, що він не великий і / або досить складний, щоб його можна було назвати рамкою.

Типовим прикладом може бути котловарна плита HTML5 .


1

Ви можете посилатися на це як "фрагменти" або точніше "колекцію фрагментів". Термін, на який я думаю, був придуманий з преси та поліграфічної галузі, де вони використовували фактичні «тарілки», а потім знову використовували їх як шматки. У сучасному Інтернеті це частина постійної (дратівливої ​​IMHO) тенденції використання вигадливі умови для простих речей, щоб виглядати більш модно і витончено. див. RESPONSIVE = адаптований / текучий.


"Сніппети" не зовсім передають однаковий зміст; "котельня" має тенденцію конотувати більші шматки, які повинні бути модифіковані так, щоб вони підходили, на відміну від декількох рядків коду копіювання / вставки / забуття. Прикладом може бути код дляWinMain функції в додатку Win32; він реєструє клас вікон програми, створює головне вікно, запускає цикл подій та повертає код виходу процедури вікна. Цей функціонал часто не сильно змінюється між додатками, і його можна повторно використовувати з відносно невеликими модифікаціями, але це не настільки звичайно, що має багато сенсу як бібліотека (або фрагмент, з цього приводу).
cHao

0

Котяча плита - це одиниця письма, яку можна повторно використовувати повторно без змін. За розширенням ця ідея іноді застосовується до багаторазового програмування, як у «кодовому коді

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.