Cos'è il codice boilerplate?


384

Un collega non ne aveva mai sentito parlare e non potevo fornire una vera definizione. Per me, è sempre stata un'istanza di "lo so-quando-lo vedo".

Domanda bonus, chi ha originato il termine?


68
Come nota, il termine boilerplate non è esclusivo della programmazione. Ad esempio, un avvocato può darti un contratto di 5 pagine da firmare, ma la maggior parte del contratto è a caldo. Significa che è lo stesso per tutti coloro che ottengono quel contratto, con solo poche righe cambiate qua e là.
Mellowsoon,

26
Non conosco nessun altro, ma nella mia azienda il codice della caldaia è il codice che gestisce la caldaia: aprire, chiudere, lavare, sostituire, ecc ...
ulty4life,

1
Questa domanda sembra fuori tema perché si tratta di gergo.
Adriano Repetti,

4
Sono venuto qui per via della documentazione di Laravel e ho pensato ... "Di che cosa parla questa roba da cucina?". Dopo aver letto alcune risposte, ho pensato che questa pagina wiki direttamente correlata mostra anche approfondimenti sull'argomento: en.wikipedia.org/wiki/Boilerplate_code
Ben Fransen,

1
Ho sentito il termine di recente, quindi sono curioso di sapere se posso chiamarli come plugin o modulo per i linguaggi di programmazione.
Anjil Panchal,

Risposte:


215

"codice boilerplate" è qualsiasi codice apparentemente ripetitivo che si presenta più volte per ottenere un risultato che sembra dovrebbe essere molto più semplice.

È una definizione soggettiva.

Il termine deriva da "boilerplate" nell'industria giornalistica: wiki


2
L'idea alla base della multiproprietà in OOP è di ridurre la piastra di cottura, quindi se applicata correttamente può essere ridotta un po '.
Andrew Sledge,

Si dice anche che provenga dall'industria siderurgica, dove vengono utilizzate piastre in acciaio per caldaie
Mohammed Shareef C

55

Sull'etimologia il termine boilerplate : da http://www.takeourword.com/Issue009.html ...

È interessante notare che il termine deriva dal business dei giornali. Colonne e altri pezzi che venivano sindacati venivano inviati ai giornali in abbonamento sotto forma di un tappetino (cioè una matrice). Una volta ricevuto, il piombo bollente è stato versato in questo tappetino per creare la piastra utilizzata per stampare il pezzo, da cui il nome della piastra di cottura. Poiché l'articolo stampato su una piastra di cottura non poteva essere modificato, il termine è diventato utilizzato dagli avvocati per fare riferimento alle parti di un contratto che non sono cambiate a seguito di usi ripetuti in diverse applicazioni e infine alla lingua in generale che non è cambiata in qualsiasi documento che è stato utilizzato ripetutamente per diverse occasioni.

Cosa costituisce la piastra di cottura nella programmazione? Come altri hanno sottolineato, è solo un pezzo di codice che viene copiato più volte con poche o nessuna modifica apportata ad esso nel processo.


C'è una spiegazione alternativa mentalfloss.com/article/26087/why-it-boilerplate-text per la quale ho visto più riferimenti.
Fgysin ripristina Monica il

1
Dannazione! questa sembra una risposta per uno scambio grammaticale di stack ... in realtà forse questa intera domanda, ma posso vedere perché ne abbiamo bisogno qui ...
pythonian29033

55

Il codice della caldaia indica un pezzo di codice che può essere riutilizzato più volte. D'altra parte, chiunque può dire che è un pezzo di codice riutilizzabile.

Il termine in realtà proveniva dalle industrie siderurgiche.

Per un po 'di storia , secondo Wikipedia :

Negli anni '90 del XIX secolo, il boilerplate fu effettivamente fuso o stampato in metallo pronto per la stampa e distribuito ai giornali degli Stati Uniti. Fino agli anni '50, migliaia di giornali hanno ricevuto e utilizzato questo tipo di piastra di caldaia dal più grande fornitore della nazione, Western Newspaper Union. Alcune aziende hanno anche inviato comunicati stampa come scaldabagno in modo da doverli stampare come scritto.

Ora secondo Wikipedia :

Nei programmi orientati agli oggetti, alle classi vengono spesso forniti metodi per ottenere e impostare variabili di istanza. Le definizioni di questi metodi possono essere spesso considerate come boilerplate. Sebbene il codice varierà da una classe all'altra, ha una struttura sufficientemente stereotipata da generare automaticamente meglio di quanto scritto a mano. Ad esempio, nella seguente classe Java che rappresenta un animale domestico, quasi tutto il codice è boilerplate ad eccezione delle dichiarazioni di animale domestico, nome e proprietario:

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

È un codice che può essere utilizzato da molte applicazioni / contesti con poche o nessuna modifica.

La piastra di caldaia è derivata dall'industria siderurgica nei primi anni del 1900.


34

Da Wikipedia :

Nella programmazione del computer, boilerplate è il termine usato per descrivere sezioni di codice che devono essere incluse in molti punti con poca o nessuna alterazione. Viene usato più spesso quando si fa riferimento a linguaggi considerati dettagliati, ovvero il programmatore deve scrivere molto codice per eseguire lavori minimi.

Quindi in pratica puoi prendere in considerazione il codice del boilerplate come un testo necessario molto spesso a un linguaggio di programmazione attorno ai programmi che scrivi in ​​quel linguaggio.

I linguaggi moderni stanno provando a ridurlo, ma anche il linguaggio più vecchio che ha controlli di tipo specifici (per esempio OCaml ha un inferitore di tipo che ti permette di evitare così tante dichiarazioni che sarebbero codice di caldaia in un linguaggio più dettagliato come Java)


24

Boilerplate è ciò che i bravi programmatori evitano: la ripetizione.


36
OMG, hai "ti" due volte nella tua risposta! Come puoi vedere, la ripetizione non è sempre male.
Tamás Sengel,

3
Come evito public static void main(String[] _)?
Koray Tugay,

15

La boilerplate nello sviluppo del software può significare cose diverse per persone diverse, ma generalmente indica il blocco di codice che viene utilizzato più e più volte.

Nello sviluppo dello stack MEAN , questo termine si riferisce alla generazione di codice attraverso l'uso del modello. È più semplice della codifica manuale dell'intera applicazione da zero e offre coerenza del blocco di codice e meno bug in quanto è un codice pulito, testato e collaudato ed è open source, quindi viene costantemente aggiornato o riparato, quindi consente di risparmiare molto tempo utilizzando framework o generatore di codice. Per ulteriori informazioni sullo stack MEAN, fare clic qui .


7

In termini pratici, il codice boilerplate è il materiale che taglia e incolla ovunque. Spesso saranno cose come un'intestazione del modulo, oltre ad alcune dichiarazioni standard / obbligatorie (ogni modulo deve dichiarare un logger, ogni modulo deve dichiarare le variabili per il suo nome e revisione, ecc.) Nel mio progetto attuale, stiamo scrivendo gestori di messaggi e hanno tutti la stessa struttura (leggere un messaggio, convalidarlo, elaborarlo) ed eliminare le dipendenze tra i gestori che non volevamo avere tutti ereditati da una classe di base, quindi abbiamo creato uno scheletro di tipo boilerplate. Dichiarò tutte le variabili di routine, i metodi standard, il framework di gestione delle eccezioni: tutto ciò che uno sviluppatore doveva fare era aggiungere il codice specifico al messaggio che veniva gestito. Sarebbe stato veloce e facile da usare,


7

Oggi la definizione della piastra di cottura sta diventando più globale in molti altri linguaggi di programmazione. Proviene da OOP e linguaggi ibridi che sono diventati OOP e che prima erano procedurali hanno ora lo stesso obiettivo di continuare a ripetere il codice creato con un modello / modello / classe / oggetto, quindi perché adattano questo termine. Fai un modello e le uniche cose che fai per ogni istanza di un modello sono i parametri per individuare un oggetto, questa parte è ciò che chiamiamo boilerplate. Devi semplicemente riutilizzare il codice di cui hai creato un modello, solo con parametri diversi.

Sinonimi
un modello è una piastra di caldaia
uno stencil è una piastra di caldaia
un piè di pagina è una piastra di caldaia
un modello di progettazione per uso multiplo è una piastra di caldaia
una firma di una posta è una piastra di caldaia



2

Da whatis.techtarget.com :

Nella tecnologia dell'informazione, una piastra di caldaia è un'unità di scrittura che può essere riutilizzata più volte senza modifiche. Per estensione, l'idea viene talvolta applicata alla programmazione riutilizzabile come nel "codice boilerplate". Il termine deriva dalla produzione di acciaio, dove la piastra della caldaia è in acciaio laminata in grandi lastre per l'uso in caldaie a vapore. L'implicazione è o che la scrittura sulla piastra di cottura è stata testata nel tempo e forte come "acciaio", o forse che è stata implementata in qualcosa di abbastanza forte per un riutilizzo ripetuto.

Oltre la programmazione:

Una piastra di caldaia può essere paragonata a un certo tipo di modello, che può essere pensato come una piastra di riempimento riempi gli spazi vuoti. Alcune tipiche targhe di caldaia includono: dichiarazioni di missione, avvertenze di sicurezza, procedure di installazione comunemente utilizzate, dichiarazioni di copyright e dichiarazioni di non responsabilità.

Nella mia esperienza di programmatore, il tipo corretto di codice boilerplate è in genere un gruppo di codice con cui inizi non è abbastanza grande e / o abbastanza complicato da essere chiamato un framework.

Un tipico esempio potrebbe essere la Boilerplate HTML5 .


1

Puoi fare riferimento ad esso come "snippet" o più precisamente "raccolta di snippet". Il termine penso sia stato coniato dall'industria della stampa e della stampa, dove hanno usato "lastre" reali e poi le hanno riutilizzate come pezzi di nuovo. Nell'internet di oggi fa parte di una tendenza in corso (fastidiosa IMHO) di utilizzare termini fantasiosi per cose semplici per apparire più trendy e sofisticato. vedi RESPONSIVO = adattabile / fluido.


"Frammenti" non trasmette del tutto lo stesso significato; "boilerplate" tende a connotare blocchi più grandi che devono essere modificati per adattarsi, al contrario di un paio di righe di codice copia / incolla / dimentica. Un esempio potrebbe essere il codice per la WinMainfunzione in un'app Win32; registra la classe della finestra dell'app, crea la finestra principale, esegue il ciclo degli eventi e restituisce il codice di uscita della procedura della finestra. Tale funzionalità spesso non cambia molto tra le app e può essere riutilizzata con relativamente poche modifiche, ma non è così ordinaria da avere molto senso come libreria (o frammento).
cHao,

0

Un boilerplate è un'unità di scrittura che può essere riutilizzata più volte senza modifiche. Per estensione, l'idea viene talvolta applicata alla programmazione riutilizzabile, come nel "codice del boilerplate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.