Schöne Codes: Wie neue Software bei der Entwicklung hilft

Software-Teams müssen heute immer schneller immer komplexere Codes entwickeln. Beides erhöht die ohnehin schon vorhandene Fehleranfälligkeit. Geschätzt treten pro 1.000 Zeilen Code im Mittel etwa zwei Fehler auf – und um diese zu beseitigen, werden teilweise bis zu 70 Prozent der Entwicklungskosten verbraucht. Zudem ist es heutzutage ohnehin für viele Firmen schwer, gute Programmierer zu finden, denn besonders auf dem Markt für ITler herrscht Fachkräftemangel. Wenig Personal, hoher Zeitdruck und steigende Komplexität erhöhen den Druck auf die Effizienz der Entwickler. Zudem soll die „Schönheit“ des Codes berücksichtigt werden, denn Programmierer wie Unternehmen erwarten nicht nur Software, die gerade so eben ihren Zweck erfüllt.

Was macht eine Software bzw. einen Code nun „schön“? Schöne Software löst ein Problem besser als andere – und das vollständig und mit konsistenter Userführung, auch Integrität genannt. Schöne Software ist innovativ, löst Probleme neu oder hat neue Features. Sie ist anwenderfreundlich und den Usern die Nutzung einfach. Vor allem gilt für einen „schönen“ Code der Grundsatz „form follows function“: Er muss klar lesbar und verständlich sein und Qualitätsnormen entsprechen. Wartbarkeit ist ebenfalls eine wichtige Eigenschaft eines schönen Codes, damit Fehler schnell behoben und Modifizierungen einfach vorgenommen werden können. Schönheit ermöglicht, Codes besser zu verstehen, schneller Anpassungen vornehmen zu können und Fehler zu vermeiden. 

Vor allem, was die Fehleranfälligkeit betrifft, bekommen Programmierer inzwischen Hilfe von innovativer Software. Verschiedene Startups haben Lösungen hierzu entwickelt. Wir stellen Ihnen einige davon vor:

1. Gamma und Co.

Ein Beispiel ist das aus Frankfurt am Main stammende Jungunternehmen acellere. Mit ihrem Angebot soll es sogar möglich sein, Software teilweise maschinell zu entwickeln. Quellcodes und die damit verbundenen Artefakte werden als wiederverwendbare Komponenten zum Bau neuer Software sowie zur Wartung vorhandener Software eingesetzt. Das Startup hat zudem eine Plattform namens „Gamma“ live geschaltet. Darauf prüfen beispielsweise Automobilfirmen, Zulieferer, Versicherer und Energieversorger ihre Softwarearchitektur auf strukturelle Fehler. Ein fehlerhafter Code wird markiert und hinsichtlich seiner Schwere priorisiert. Laut Unternehmen kann die Plattform nicht nur analysieren, sondern auch passende Lösungen für Fehler vorschlagen. Das geschieht mit einem KI Assistenten - so haben es Coder leichter, auch in komplexen Software-Gebilden Fehler zu finden und zu beheben.

2. KI Commit Assistent

Nicht nur acellere setzt auf künstliche Intelligenz zur Vermeidung von fehlerhaften Codes. Auch das französische Unternehmen Ubisoft hat eine Lösung für Entwickler konzipiert, die Fehler in der Software sogar findet, bevor diese Bugs in den Code eingepflegt werden. Die Technologie zu diesem KI Commit Assistent stammt aus einer speziellen Forschungs- und Entwicklungsabteilung, die mit örtlichen Universitäten zusammenarbeitet und künstliche Intelligenz insgesamt fördern will. Diese Software wurde vor allem für Programmierer innerhalb der Spieleindustrie entwickelt. Zehn Jahre lang wurde der Assistent bereits mit Codes gefüttert, um daraus zu lernen - inzwischen erkennt er sechs von zehn häufig auftretenden Bugs zuverlässig. Die KI soll auch vorhersagen können, wann ein Coder einen ähnlichen Fehler begeht. 

3. Gotham und Metropolis

Das US-Unternehmen Palantir hat eine Analysesoftware namens Gotham entwickelt, die Daten aus verschiedenen Informationsquellen zusammenführen kann, um sie für Menschen analysierbar zu machen. Dieser Umgang mit großen Datenmengen wird etwa bei der Verbrechensbekämpfung wichtig, Kunde des 2004 gegründeten Unternehmens ist beispielsweise die CIA.  Die Software kombiniert zahlreiche analytische Tools. Daneben hat das Unternehmen die Software „Metropolis“ entwickelt, die in Datensätzen Trends, Beziehungen und Anomalien aufdeckt und dabei prädiktive Analytik nutzt.

4. Integrierte Entwicklungsumgebung

Es muss jedoch nicht immer so innovativ wie Gamma sein. Auch einige Anbieter einer integrierten Entwicklungsumgebung (IDE) haben ihren Funktionsumfang hinsichtlich der Fehleranalyse in Codes verbessert. IntelliJ IDEA des tschechischen Herstellers JetBrains bietet beispielsweise eine integrierte Codeanalyse. Die Entwicklungsumgebung erkennt potenzielle Programmierfehler in Schleifen und Bedingungen und hilft so den Entwicklern und Codern Bugs zu vermeiden. 

Am Ende braucht es für einen schönen Code vor allem zwei Zutaten: das passende Handwerkszeug und eine Portion Handwerksstolz. Letzteres ist den meisten Entwicklern bereits in die Wiege gelegt – und für ersteres gibt es inzwischen hilfreiche Tools wie die obigen.