Warum guter Computercode so wichtig ist

Aktualisiert! Dies ist eine aktualisierte Version des Originalartikels. Letztes Update: 13-11-2020

Die Zukunft deiner Unternehmung hängt von dem Code ab, den du heute schreibst.

Wie? Im Ernst? Wie soll das überhaupt funktionieren? Wer hat das geschrieben? Gedanken wie diese schwirren einem Senior-Entwickler bei CodeCoda oft durch den Kopf, wenn er sich zum ersten Mal den Legacy-Code eines Klienten ansieht.
Aber gehen wir erstmal ein paar Schritte zurück. Ein Klient ist mit seiner Projektidee an uns herangetreten, die Verträge sind unterzeichnet, die Pläne stehen und jetzt ist es an der Zeit, Code zu schreiben. Manchmal geht es beispielsweise darum, die aktuelle Codebasis eines Klienten als Grundlage zu nehmen und notwendige Upgrades für die Zukunft vorzunehmen.

Bevor man sich nun jene Codebasis eines Klienten zum ersten Mal ansieht, kommen immer verschiedenste Gefühle auf. Alles in allem ist es wohl ein Mix aus Aufregung, Angst und allgemeiner Neugier. Dann öffnet sich die Büchse der Pandora und seltsame Dinge kommen ans Tageslicht. Manche Klienten haben eine sehr professionell geschriebene Codebase. Auch wenn das für einen Nicht-Coder und andere Menschen gleichermaßen ein wenig nerdig klingen mag, würde ein anderer Coder Begriffe wie schön, elegant oder clever verwenden, um es zu beschreiben. Eine solch hochklassige Beschreibung kann eine Menge über den Autor des Codes aussagen.
Man muss sagen, dass der Code selbst einiges über die Person verrät, die ihn erstellt hat. Er ist nun mal das, was im Kunstwerk eines Künstlers seine eigene persönliche Note ist. Ein eleganter Code zeigt die Leidenschaft, Standards und Ideen des Autors. Guter Code bewahrt viel von diesem Charakter, so dass andere Teammitglieder erkennen können, wer einen Code geschrieben hat, indem sie ihn einfach nur ansehen. Ordentlich geschriebener Code ist ein klarer Hinweis auf den großartigen Schöpfer, der dahinter steckt.

Jeder Dummkopf kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können.

Robert C. Martin (Uncle Bob)Author und Softwareemtwickler

Doch gibt es da auch noch die andere Seite des Spektrums. So gibt es auch Code, der so schlecht geschrieben ist, dass diese “wie” und “was” Gedanken immer öfter auftauchen. Oft steht hinter einem ungeschickten Code ein übermäßig enthusiastischer “Amateur”. Wir sagen bewusst Amateur, weil der Autor oft nicht wirklich verstanden hat, wie man Code schreibt. Hier liegt auch die große Gefahr. Schlecht geschriebener Code kann unter Umständen eine ganze Unternehmung zu Fall bringen.
Ein klares Beispiel ist lausiger Code in sensiblen Bereichen wie der Autorisierung oder in Logins. Hacker lieben Sicherheitslücken wie diese und werden diese sofort ausnutzen. Wir wissen bereits, dass die Kosten für Cyberkriminalität in die Millionen gehen. Fehler im Code machen es Kriminellen nur noch leichter, schlecht geschriebenen Code zu missbrauchen. Das ist definitiv vermeidbar.
Eines der schlimmsten Beispiele für einen destruktiven Code ist, wenn schlechte Zeilen Teil der ersten Version einer App oder Website werden. Je früher der Fehler, desto gravierender später seine Folgen. Eine winzige Code-Panne in deinem Startprojekt kann wochenlangen Horror bei allen aufeinander folgenden Systemaktualisierungen und Upgrades bedeuten. Was noch schlimmer ist, ist, dass darauf im Laufe der Entwicklung immer mehr Code aufgebaut wird. Ohne konstante Codeklarheit besteht eine gute Chance, dass ein auftretender Code-Fehler alle ansonsten entscheidenden Vorteile wie ein hervorragendes Design oder eine schnelle Navigation schnell zunichte machen kann.

Programmierer sollten daher beim Schreiben von Softwaretools immer hohe Standards einhalten. In der Tat haben Programmierer eine Reihe von Regeln, die ihnen dabei helfen, “guten Code” zu schreiben, was für jede Programmiersprache gilt. Die meisten Programmierer vermeiden schlecht geschriebenen Code wie die Pest. Hier trennt sich die Spreu vom Weizen. Ein Programmierer, der so arbeitet, dass sich schlechter Code einschleicht, wird früher oder später scheitern und vielleicht als schrecklicher Nebeneffekt ein ganzes Unternehmen in den Ruin treiben. Wir wissen, dass so etwas schon in der Vergangenheit passiert ist und auch wieder passieren wird.
Wir empfehlen mehr Tests und Qualitätskontrolle, um solche Fallen zu vermeiden, und konzentrieren uns dabei auf das Code-Design, das Refactoring und sogar auf das Säubern der Code-Beschreibung innerhalb des Codes. Erfahrene Programmierer verstehen, dass das, was sie eines Tages tun, von einem anderen Augenpaar betrachtet werden kann. Die Reduzierung der Code-Mehrdeutigkeit ist auch für eine verbesserte Teamarbeit großartig und macht es den Kollegen leichter, euch zu decken, euren Code weiterzuentwickeln oder zumindest den Code mit einem Minimum an Aufwand, Interpretation oder, in schlimmeren Fällen, mit einem Minimum an Vorstellungskraft zu verstehen.

Die Komplikationen, die jede Branche aufgrund der nachteiligen Auswirkungen von Covid-19 erlebt, haben den sauberen Code verdientermaßen ins Rampenlicht gerückt. Vor der Pandemie könnten lausige Code-Vorkommnisse den Entscheidungsträgern entgangen sein, da Fehler nur zu kurzen, nicht bemerkbaren Unterbrechungen des Geschäftsbetriebs führten. Nachdem die Krise uns mittlerweile alle mehr oder weniger getroffen hat, beweisen Unternehmen mit fehlerfreiem Code, dass sie besser gerüstet sind, um harte Zeiten zu überstehen. Wir glauben, dass in Zeiten von Mindestabständen und Vorschriften zur Infektionsbekämpfung einiges mehr als nur starke Entschlossenheit nötig ist, um ein Online-Geschäft in der Krise aufzubauen. Daher ist guter Code heute relevanter denn je. In einer unsicheren Welt muss man sich zumindest auf geschriebenen Code verlassen können.
Ein gut geschriebener Code ist zuverlässig, verlässlich und, was vielleicht noch wichtiger ist, leicht aktualisierbar. Unternehmen mit einer stabilen Codebasis sind flexibler, wenn es darum geht, sich zu ändern und sich an einen Erfolgsweg anzupassen, und genau darauf sind wir bei CodeCoda ausgerichtet, um dies für unsere Klienten zu erreichen.

Autor

David Dorr, Leiter Abt. Online Handel

David ist der Leiter der Abteilung Online Handel bei CodeCoda, wo er mehrere Teams von E-Commerce-Spezialisten leitet. In seiner vorherigen Rolle als Deep-Learning-Datenwissenschaftler für die London Metropolitan Police entwickelte er im Rahmen der Crime Prediction-Initiative Deep-Learning-NLP-Algorithmen. Anschließend wechselte er, um KI mit E-Commerce zu kombinieren.
1996 erhielt er einen B.Sc in Physik von der University of Surrey, Guildford. Mit diesem wissenschaftlichen Hintergrund wechselte er relativ früh in seinem Leben zu Neuronalen Netzen und E-Commerce und war seitdem fasziniert davon, was KI und maschinelles Lernen für den Online-Handel leisten können.