Qu'est-ce que le code passe-partout?

384

Un collègue n'avait jamais entendu parler de cela, et je ne pouvais pas donner une vraie définition. Pour moi, cela a toujours été un exemple de «je-sais-quand-je-vois-le-voir».

Question bonus, qui est à l'origine du terme?

Nate Parsons
la source
68
À noter, le terme passe-partout n'est pas exclusif à la programmation. Par exemple, un avocat peut vous donner un contrat de 5 pages à signer, mais la plupart du contrat est passe-partout. Cela signifie que c'est la même chose pour tous ceux qui obtiennent ce contrat, avec seulement quelques lignes modifiées ici et là.
mellowsoon
26
Je ne connais personne d'autre, mais dans mon entreprise, le code passe-partout est le code qui fait fonctionner le passe-partout: ouvrir, fermer, laver, remplacer, etc ...
ulty4life
1
Cette question semble être hors sujet car elle concerne le jargon.
Adriano Repetti
4
Je suis venu ici à cause de la documentation de Laravel et j'ai pensé ... "De quoi parlent ces trucs passe-partout?". Après avoir lu quelques réponses, j'ai pensé que cette page wiki directement liée montre également un aperçu de la question: en.wikipedia.org/wiki/Boilerplate_code
Ben Fransen
1
J'ai entendu le terme récemment, donc je suis curieux de savoir si je peux les appeler comme plugin ou module pour les langages de programmation.
Anjil Panchal

Réponses:

215

"code passe-partout" est tout code apparemment répétitif qui apparaît encore et encore afin d'obtenir un résultat qui semble devoir être beaucoup plus simple.

C'est une définition subjective.

Le terme vient de "passe-partout" dans l'industrie de la presse: wiki

Adam Vandenberg
la source
2
L'idée derrière les multi-propriétés dans OOP est de réduire le passe-partout, donc lorsqu'il est appliqué correctement, il peut être réduit un peu.
Andrew Sledge
Il est également dit qu'il provient de l'industrie sidérurgique, où des plaques d'acier sont utilisées dans les chaudières
Mohammed Shareef C
55

Sur l'étymologie le terme passe- partout : de http://www.takeourword.com/Issue009.html ...

Fait intéressant, le terme est né de la presse écrite. Les colonnes et autres articles qui ont été syndiqués ont été envoyés aux journaux abonnés sous la forme d'un mat (c'est-à-dire d'une matrice). Une fois reçu, du plomb bouillant a été versé dans ce tapis pour créer la plaque utilisée pour imprimer la pièce, d'où le nom de passe-partout. Comme l'article imprimé sur un passe-partout ne pouvait pas être modifié, le terme est venu à être utilisé par les avocats pour faire référence aux parties d'un contrat qui n'ont pas changé par des utilisations répétées dans différentes applications, et enfin à la langue en général qui n'a pas changé dans tout document utilisé à plusieurs reprises pour différentes occasions.

Qu'est-ce qui constitue un passe-partout dans la programmation? Comme d'autres l'ont peut-être souligné, il s'agit simplement d'un morceau de code qui est copié maintes et maintes fois avec peu ou pas de modifications apportées au processus.

NealB
la source
Il existe une explication alternative mentalfloss.com/article/26087/why-it-boilerplate-text pour laquelle j'ai vu plus de références.
fgysin réintègre Monica
1
Zut! cela semble être une réponse pour un échange de pile de grammaire ... en fait peut-être toute cette question, mais je peux voir pourquoi nous en avons besoin ici ...
pythonian29033
55

Le code de chaudière signifie un morceau de code qui peut être utilisé maintes et maintes fois. D'un autre côté, n'importe qui peut dire que c'est un morceau de code réutilisable.

Le terme vient en fait des industries sidérurgiques.

Pour un peu d' histoire , selon Wikipedia :

Dans les années 1890, le passe-partout était en fait coulé ou estampé en métal prêt pour l'imprimerie et distribué aux journaux des États-Unis. Jusqu'aux années 1950, des milliers de journaux ont reçu et utilisé ce type de passe-partout du plus grand fournisseur du pays, la Western Newspaper Union. Certaines entreprises ont également envoyé des communiqués de presse sous forme de passe-partout afin qu'ils doivent être imprimés tels quels.

Maintenant, selon Wikipedia :

Dans les programmes orientés objet, les classes sont souvent fournies avec des méthodes pour obtenir et définir des variables d'instance. Les définitions de ces méthodes peuvent souvent être considérées comme passe-partout. Bien que le code varie d'une classe à l'autre, sa structure est suffisamment stéréotypée pour être mieux générée automatiquement qu'écrite à la main. Par exemple, dans la classe Java suivante représentant un animal de compagnie, presque tout le code est passe-partout, à l'exception des déclarations de Pet, nom et propriétaire:

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;
    }
}
en complément
la source
38

C'est du code qui peut être utilisé par de nombreuses applications / contextes avec peu ou pas de changement.

La chaudière est dérivée de l'industrie sidérurgique au début des années 1900.

Gabe
la source
34

De Wikipédia :

En programmation informatique, passe-partout est le terme utilisé pour décrire des sections de code qui doivent être incluses dans de nombreux endroits avec peu ou pas de modification. Il est plus souvent utilisé pour faire référence à des langages considérés comme verbeux, c'est-à-dire que le programmeur doit écrire beaucoup de code pour effectuer des tâches minimales.

Donc, fondamentalement, vous pouvez considérer le code passe-partout comme un texte dont un langage de programmation a besoin très souvent tout autour des programmes que vous écrivez dans ce langage.

Les langages modernes essaient de le réduire, mais aussi le langage plus ancien qui a des vérificateurs de type spécifiques (par exemple OCaml a un inféreur de type qui vous permet d'éviter autant de déclarations qui seraient du code passe-partout dans un langage plus verbeux comme Java)

Jack
la source
24

Boilerplate est ce que les bons programmeurs évitent: la répétition.

James
la source
36
OMG, vous avez "ti" deux fois dans votre réponse! Comme vous pouvez le voir, la répétition n'est pas toujours mauvaise.
Tamás Sengel,
3
Comment éviter public static void main(String[] _)?
Koray Tugay
16

Boilerplate dans le développement de logiciels peut signifier différentes choses pour différentes personnes, mais signifie généralement le bloc de code qui est utilisé maintes et maintes fois.

Dans le développement de la pile MEAN , ce terme fait référence à la génération de code via l'utilisation d'un modèle. C'est plus facile que de coder à la main l'application entière à partir de zéro et cela donne la cohérence du bloc de code et moins de bugs car c'est du code propre, testé et éprouvé et c'est open source donc il est constamment mis à jour ou corrigé donc il économise beaucoup de temps en utilisant framework ou générateur de code. Pour plus d'informations sur la pile MEAN, cliquez ici .

Nermien Barakat
la source
8

La définition de la chaudière devient de plus en plus globale dans de nombreux autres langages de programmation de nos jours. Il provient de POO et de langages hybrides qui sont devenus POO et qui étaient auparavant procéduraux ont maintenant le même objectif de continuer à répéter le code que vous créez avec un modèle / modèle / classe / objet, c'est pourquoi ils adaptent ce terme. Vous créez un modèle et les seules choses que vous faites pour chaque instance d'un modèle sont les paramètres pour individualiser un objet cette partie est ce que nous appelons passe-partout. Vous réutilisez simplement le code dont vous avez créé un modèle, uniquement avec différents paramètres.

Synonymes
un plan est un passe-partout
un pochoir est un passe-partout
un pied de page est un passe-partout
un modèle de conception pour une utilisation multiple est un passe-partout
une signature d'un courrier est un passe-partout

Thielicious
la source
7

En termes pratiques, le code passe-partout est ce que vous coupez-collez partout. Souvent, ce sera des choses comme un en-tête de module, plus quelques déclarations standard / obligatoires (chaque module doit déclarer un enregistreur, chaque module doit déclarer des variables pour son nom et sa révision, etc.) Sur mon projet actuel, nous écrivons des gestionnaires de messages et ils ont tous la même structure (lire un message, le valider, le traiter) et pour éliminer les dépendances entre les gestionnaires, nous ne voulions pas qu'ils héritent tous d'une classe de base, nous avons donc trouvé un squelette standard. Il a déclaré toutes les variables de routine, les méthodes standard, le cadre de gestion des exceptions - tout ce qu'un développeur devait faire était d'ajouter le code spécifique au message traité. Cela aurait été rapide et facile à utiliser,

TMN
la source
5

Joshua Bloch a parlé de la conception d'API qui couvre à quel point les mauvaises rendent le code passe-partout nécessaire. (Minute 46 pour référence au passe-partout, écoutant ceci aujourd'hui)

Colombe
la source
2

De whatis.techtarget.com :

Dans les technologies de l'information, un passe-partout est une unité d'écriture qui peut être réutilisée indéfiniment sans changement. Par extension, l'idée est parfois appliquée à la programmation réutilisable comme dans le «code passe-partout». Le terme dérive de la fabrication de l'acier, où le passe-partout est en acier laminé en grandes plaques pour une utilisation dans les chaudières à vapeur. L'implication est soit que l'écriture passe-partout a été testée dans le temps et solide comme de «l'acier», ou peut-être qu'elle a été déployée en quelque chose d'assez solide pour une réutilisation répétée.

Au-delà de la programmation:

Un passe-partout peut être comparé à un certain type de modèle, qui peut être considéré comme un passe-partout à remplir. Certains passe-plats typiques incluent: les énoncés de mission, les avertissements de sécurité, les procédures d'installation couramment utilisées, les déclarations de droits d'auteur et les exclusions de responsabilité.

D'après mon expérience en tant que programmeur, le bon type de code passe-partout est généralement un tas de code avec lequel vous commencez qui n'est pas assez grand et / ou assez compliqué pour être appelé un framework.

Un exemple typique serait le HTML5 Boilerplate .

John Slegers
la source
1

Vous pouvez vous y référer en tant que "extraits" ou plus précisément "collection d'extraits". Le terme, je pense, a été inventé par l'industrie de la presse et de l'imprimerie, où ils utilisaient de véritables "plaques", puis les réutilisaient à nouveau en tant que morceaux. termes fantaisistes pour des choses simples afin d'avoir l'air plus tendance et sophistiqué. voir RESPONSIVE = adaptable / fluide.

Obmerk Kronen
la source
Les "extraits" ne véhiculent pas tout à fait la même signification; "passe-partout" a tendance à signifier de plus gros morceaux qui sont censés être modifiés pour s'adapter, par opposition à quelques lignes de code copier / coller / oublier. Un exemple peut être le code de la WinMainfonction dans une application Win32; il enregistre la classe window de l'application, crée la fenêtre principale, exécute la boucle d'événements et renvoie le code de sortie de la procédure window. Souvent, cette fonctionnalité ne change pas beaucoup entre les applications et peut être réutilisée avec relativement peu de modifications, mais ce n'est pas si routinier que cela a beaucoup de sens en tant que bibliothèque (ou extrait, d'ailleurs).
cHao
0

Un passe-partout est une unité d'écriture qui peut être réutilisée indéfiniment sans changement. Par extension, l'idée est parfois appliquée à une programmation réutilisable, comme dans le «code passe-partout»

manish kumar
la source