Boilerplate
Boilerplate (englisch für ursprünglich „Kesselplatte“, übertragen „Standardtext, Textbaustein“), auch Abbinder, bezeichnet in der Medienarbeit und dem Druckwesen[1] einen gleichbleibenden Textblock meist am Ende eines Texts. Im Zusammenhang mit E-Mails wird der Begriff auch bezüglich der Signatur benutzt. Der Begriff wird auch in der Rechnungslegung und der Programmierung[2] verwendet.
Public Relations
Boilerplate oder Backgrounder ist ein Begriff aus der PR- und Medienarbeit. Es handelt sich dabei um eine Textpassage am Ende einer Medienmitteilung. Sie enthält die wichtigsten allgemeinen Angaben zur Organisation, welche hinter der Medienmitteilung steht (z. B. Anzahl der Mitarbeiter des Unternehmens, Umsatz, Standorte, Branchenschwerpunkte, Gründung).[3]
Die Boilerplate ist somit ein über einen längeren Zeitraum gleichbleibender Textblock ohne direkten Bezug zum aktuellen Anlass. Die Boilerplate bietet Journalisten die Möglichkeit, auf einen Blick das Tätigkeitsprofil einer Organisation bzw. eines Unternehmens zu erfassen.[4][5]
Wirtschaft
In der Bilanz- und Rechnungslegungswelt gibt es ein vielschichtiges „Disclosure-Problem“ – auch unter der Bezeichnung boiler plate[6] bekannt, dessen Aspekte von den Interessengruppen der Rechnungslegung unterschiedlich gewichtet werden. Die bilanzierenden Unternehmen sehen sich gedrängt, ihre Abschlüsse unter hohem Aufwand mit Informationen zu überfrachten (disclosure overload), die nach ihrem Empfinden für die Nutzer zum Teil irrelevant sind. Unter anderem wegen Zeitdrucks seien viele Angaben redundant und wenig unternehmensspezifisch (boilerplate). Hierzu fühle man sich durch die bestehenden Offenlegungsvorschriften gezwungen, deren Einhaltung von Abschlussprüfern und Enforcement-Institutionen mittels Checklisten überprüft werde.
Auch aus der Sicht der Adressaten der Rechnungslegung steigern boilerplate-Angaben, Redundanzen und information overload die Informationsverarbeitungskosten und werden daher als störend empfunden. Schwerer wiege jedoch das fallweise Fehlen wesentlicher Informationen, für die gerade keine explizite Angabepflicht besteht. Daher sei der Wesentlichkeitsgrundsatz zu stärken und auf die Abkehr von einer Compliance- und Checklisten-Mentalität hinzuwirken.
Programmierung
In der Programmierung bezeichnet der Begriff Boilerplate-Code Codefragmente, die an vielen Stellen in mehr oder weniger unveränderter Form benötigt werden. Das kommt häufiger vor in Programmiersprachen, die als eher „geschwätzig“ (verbose) gelten, d. h. dem Programmierer auch für geringste Aufgabenstellungen viel Codierarbeit abverlangen. Der Bedarf an Boilerplate-Code kann durch Nutzung von High-Level-Mechanismen wie Metaprogrammierung (wobei das System den benötigten Boilerplate-Code automatisch generiert) und Methodikbausteine wie Konvention vor Konfiguration (wodurch „gute“ Defaultwerte zur Verfügung gestellt werden, so dass viele Implementierungsdetails nicht mehr in jedem Projekt ausdrücklich spezifiziert werden müssen) reduziert werden.
Die folgenden Zeilen in Perl zeigen beispielhaft Boilerplate-Code. Sie bestehen aus einem Shebang und zwei Pragmata (die der gute Programmierstil verlangt) am Anfang einer Quelldatei. Diese Zeilen sind nicht Teil der Programmlogik, sondern enthalten Information für die Ablaufumgebung.
#!/usr/bin/perl
use warnings;
use strict;
Boilerplate-Code wird häufig zur Vorbereitung der Benutzung von Funktionen aus Bibliotheken mit niedrigem Abstraktionsniveau benötigt. Ein Beispiel hierfür ist die strcat
Function in C zum Zusammenfügen zweier Zeichenketten (strings). In C werden Zeichenketten als Felder von einzelnen Zeichen (character, Datentyp char) mit abschließendem Nullbyte abgelegt (nullterminierte character arrays). Der Code, den man braucht, um (jedenfalls auf eine Art) mit strcat
zwei Zeichenketten namens first
und second
zu verketten, lautet in ausführlich kommentierter Fassung, aber ohne notwendige Fehlerbehandlung:
char *result;
/* Allocate memory for the size of the two strings, plus 1 for the terminating NULL character. */
result = malloc( (strlen(first) + strlen(second) + 1) * sizeof(char) );
/* Copy the contents of 'first' to 'result'. */
strcpy(result, first);
/* Append the contents of 'second'. */
strcat(result, second);
…
/* Deallocate the reserved memory when finished */
free(result);
- Die Variablendeklarationen und die Anweisungen
malloc
undfree
sind der Boilerplate-Code, der als Rahmen für die eigentliche Arbeit der beiden Funktionsaufrufe vorausgesetzt und somit zusätzlich geschrieben werden muss. - Der Code ist nicht threadsafe. Werden
first
odersecond
zwischen demstrlen
und den Kopiervorgängen in einem anderen Thread verlängert, wird der Heap zerstört. - Der Code ist damit nicht nur lang und komplex und verdeckt die eigentliche Aufgabe, sondern es gibt viele Möglichkeiten, den Code mit Schwachstellen zu versehen.
- Wem das noch nicht reicht, kann das ganze noch auf Wide Characters oder Multibyte-Characters erweitert werden, spätestens dann überschaut den Code keiner mehr.
Wir sprechen hier von einer der einfachsten Aufgaben (zwei Zeichenketten zusammenfügen), nicht von einem komplexen Programm!
Siehe auch
- Konvention vor Konfiguration; Ansatz um Boilerplate Code zu reduzieren
Einzelnachweise
- ↑ Donald Treadwell, Jill B. Treadwell: Public Relations Writing. Principles in Practice. SAGE, 2003, ISBN 978-0-7619-4599-4.
- ↑ Ralf Laemmel, Simon Peyton Jones: Scrap your boilerplate: a practical approach to generic programming. In: Proceedings ACM SIGPLAN Workshop on Types in Language Design and Implementation. 2003 (PS – Webseite).
- ↑ Jörg Hüttmann: Erfolgreiche Online-PR: Wie Sie Pressemeldungen für das Web zielgruppengenau schreiben und erfolgreich verbreiten. BoD – Books on Demand, 2018, 2018, ISBN 3-7481-8346-1, S. 32.
- ↑ Was ist eigentlich ein Abbinder Marketing Börse vom 26. August 2011, abgerufen am 4. Juni 2019
- ↑ Wie man eine Boilerplates erstellt PR Spionen vom 28. April 2018, abgerufen am 4. Juni 2019
- ↑ Rede von Hans Hoogervorst auf der IFRS Foundation 2013 conference in Amsterdam