Copy-and-paste programming kennt man auch als Pasting oder Clipboard Coding. Die Begriffe bezeichnen das unreflektierte Wiederverwenden bereits bestehenden Quellcodes.
Copy-and-paste- oder Clipboard-Programming kann sich sehr negativ auf die Code-Qualität auswirken.
Copy-and-paste Programming ist ein Anti-Pattern, bei dem Programmcode kopiert und für andere Stellen oder Projekte wiederverwendet wird. Das Kopieren und Einfügen setzt kein echtes Verständnis des Codes voraus und birgt daher hohes Potenzial für Fehler, Qualitätsprobleme und Duplicate Code.
Es gibt mehrere Gründe, aus denen Entwickler absichtlich oder unabsichtlich Cut-And-Paste Programming praktizieren.
Zeitdruck: Wenn erheblicher Zeitdruck besteht, kann es verlockend sein, bestehenden Code wiederzuverwenden, statt selbst Code zu verfassen. Die Vorstellung ist, dass damit viel Zeit und Arbeit eingespart wird und man innerhalb der Deadline liefern kann.
Fehlendes Wissen: Wenn ein Entwickler ihm unbekannte Technologien nutzen muss, orientiert er sich häufig an Beispielen und kopiert diese in seinen Code. Das muss nicht automatisch ein Problem sein. Wenn der Entwickler sich gleichzeitig in die Technologie einarbeitet und die Funktionsweise versteht, kann er über das Kopieren und Anpassen eines Beispiels einen Einstieg finden.
Schlechte Dokumentation von Modulen: Wiederverwendbare Komponenten sind nur dann praktikabel, wenn ersichtlich ist, was sie anbieten und wo sie zu finden sind.
Schlechte Planung: Wird nicht vorausschauend geplant, ist vorab nicht klar, ob bestimmte Funktionen häufiger gebraucht werden und daher ausgelagert werden sollten.
Bequemlichkeit: Kopieren und Einfügen kann den Eindruck vermitteln, dass es weniger mühsam ist.
Kann Copy-and-paste programming auch legitim sein?
In den meisten Fällen ist eher davon abzuraten, Quellcode stumpf wiederzuverwenden. In der Softwareentwicklung werden die Ziele eines Projekts jedoch für den Einzelfall festgelegt und nicht immer nehmen hohe Qualität oder ein langlebiges, wartbares Produkt die obersten Prioritäten ein. Es kann vorkommen, dass eine schnelle und kostengünstige Veröffentlichung so wichtig ist, dass das Klonen von Code die ökonomischste Lösung ist.
Spielen Qualität oder Wartbarkeit keine wichtige Rolle, kann sich ein Team trotz allem für Cut-And-Paste Programming entscheiden. Soll z. B. ein kurzlebiges Tool erstellt werden, das keine kritischen Aufgaben übernimmt und besonders schnell verfügbar sein muss, könnte der Ansatz in Erwägung gezogen werden. Unter Umständen kann kopierter Code auch beim schnelleren Entwickeln mancher Prototypen helfen.
Was sind typische Probleme und Folgen des Copy-and-paste programming?
Duplicate Code
Wird identischer Code an mehreren Stellen einer Software gefunden, spricht man von Duplicate Code. Das gilt als unerwünscht, weil es viele Probleme wie erschwerte Wartbarkeit oder unnötig langen Code erzeugt. Copy-and-paste programming ist eine häufige Ursache für Duplicate Code.
Schwierigkeiten in Wartung und Weiterentwicklung
Ein offensichtliches Problem ist die komplexe Wartung und Weiterentwicklung von Programmen, die zahlreiche Stellen mit immer wieder kopiertem Code enthalten. Soll eine Funktion erweitert oder verändert werden, muss ein Entwickler alle Stellen finden, an denen er zum Einsatz kommt. Wäre der Code sauber modular aufgebaut, müsste nur einmalig eine Änderung geschehen.
Gerne schleichen sich auch weitere Fehler ein, wenn bei der Wartung nicht alle Stellen beachtet werden. Insgesamt verlängert Copy-and-paste programming häufig die Zeit, die für die Wartung und Weiterentwicklung investiert werden muss - und damit die Kosten, die für diese Arbeiten anfallen.
Vervielfältigen von Fehlern
Taucht ein und derselbe Fehler häufiger in einer Software auf, obwohl er immer wieder im jeweiligen lokalen Kontext behoben wurde, liegt der Verdacht auf Kopieren und Einfügen von Code nahe. Der eingefügte Code könnte an sich fehlerhaft sein oder aber im jeweiligen Kontext zu Problemen wie Sicherheitslücken führen.
Infolgedessen müssen erst alle betroffenen Codestellen geändert werden, wenn ein Fehler endgültig behoben werden soll. Hierbei gibt es noch die Schwierigkeit, dass möglicherweise mehrere Entwickler zu unterschiedlichen Gelegenheiten an verschiedenen fehlerhaften Stellen arbeiten und dadurch mehrere Lösungswege für ein Problem einbringen.
Unnötig viele Codezeilen
Wenn häufig kopiert und eingefügt wird, statt modular und elegant zu arbeiten, wächst der Code rasant. Vor allem, wenn kopierte Segmente an vielen Stellen gebraucht werden, steigen die Codezeilen schnell in die Höhe. Langer Code mit vielen Zeilen ist kein Qualitätskriterium, sondern macht Quellcode unübersichtlicher und kann die Performance der Software beeinträchtigen, z. B. indem die Ladezeiten von Webanwendungen durch unnötig umfangreichen Quellcode steigen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Wissensdefizite im Team
Außerdem kann es passieren, dass Entwickler nie wirklich den korrekten und effizienten Umgang mit Paradigmen und Technologien lernen, wenn sie immer wieder nur Vorhandenes wiederverwenden. Es ist eine Sache, eine kopierte Codestelle so anzupassen, dass sie den aktuellen Bedürfnissen entspricht - und eine andere, diese Funktion von Grund auf selbst korrekt umsetzen zu können. Die Folgen sind lückenhaftes Wissen und unterentwickelte Fähigkeiten, was auf lange Sicht die Softwarequalität beeinträchtigt.
Fazit
Copy-and-paste programming ist im professionellen Umfeld eine eher ungern gesehene Art des Programmierens, die nur in wenigen Ausnahmefällen aktiv als bevorzugte Lösung gewählt wird. Obwohl das Kopieren und Wiederverwenden von Code auf den ersten Blick zeitsparend erscheinen kann, führt es zu langfristigen Problemen. Der Ansatz ist häufig ein Resultat von Zeitdruck oder Unwissen und erzeugt schlecht wartbare, wenig zukunftsorientierte Software.