Die Herausforderung der Wiederverwendung von Code (und wie man Code effektiv wiederverwendet)

Verbraucher fordern intelligentere, vernetztere Produkte. Diese Nachfrage hat zu einem explosiven Wachstum von Software und Konnektivität geführt.

Die Menge an eingebetteter Software in Produkten wächst exponentiell. Die Produktfunktionalität wird immer abhängiger von Software und weniger von Hardware und mechanischen Komponenten. Und es passiert in jeder Branche.

In der Luft- und Raumfahrt und Verteidigung hat eine Boeing 787 6,5 Millionen Zeilen Code. Im Automobil hat ein Auto 100 Millionen Codezeilen. In der Unterhaltungselektronik verfügt ein Android-Telefon über 12 Millionen Codezeilen.

Aber wenn Software wächst, schafft sie sowohl geschäftliche als auch technische Herausforderungen. Die verfügbaren qualifizierten Entwickler sind begrenzt. Und wenn sie knapp werden, werden sie teurer.

Die Wiederverwendung von Code kann das Problem des Softwarewachstums lösen, und hier erklären wir, was die Wiederverwendung von Code ist und wie Code effektiv wiederverwendet werden kann.

Was ist Wiederverwendung von Code?

Wiederverwendung von Code ist die Praxis, vorhandenen Code für eine neue Funktion oder Software zu verwenden.

Aber um Code wiederzuverwenden, muss dieser Code von hoher Qualität sein. Und das bedeutet, dass es sicher, geschützt und zuverlässig sein sollte.

Software zu entwickeln, die diese Anforderungen erfüllt, ist eine Herausforderung. Die systematische Entwicklung hochwertiger wiederverwendbarer Softwarekomponenten und Frameworks ist noch schwieriger.

Wann können Sie Code wiederverwenden

Die Wiederverwendung von Code ist ein großartiges Ziel.

In einer idealen Umgebung wäre ein Entwickler in der Lage, auf stabile und vertrauenswürdige Codebibliotheken zuzugreifen. Sie könnten dann Code aus diesen Bibliotheken als Bausteine in ihrer Anwendung wiederverwenden.

Sie können also Code wiederverwenden, wenn dies möglich ist:

  • Einfach zu erweitern und an die neue Anwendung anzupassen.
  • Bei Bedarf auf andere Hardware portiert.
  • Nachweislich frei von Mängeln oder Problemen, die die Zuverlässigkeit, Sicherheit oder Sicherheit der neuen Anwendung beeinträchtigen.

Aber die Umgebung ist nicht immer ideal. Und Code erfüllt diese Anforderungen nicht immer. Die Wiederverwendung von Code klingt also oft viel einfacher als es ist.

Wenn die Wiederverwendung von Code nicht funktioniert

Die Wiederverwendung von Code erweist sich oft als schwierig.

In der Praxis bauen Entwickler Software oft von Grund auf neu auf. Oder sie können nur einen kleinen Bruchteil des vorhandenen Codes in neuen Projekten wiederverwenden.

Warum die Wiederverwendung von Software schwierig ist

Die Wiederverwendung von Software ist schwierig. Dies gilt insbesondere für Organisationen mit einer großen Anzahl von Produktkomponenten und geografisch verteilten Entwicklungsteams.

Hier sind drei Gründe, warum die Wiederverwendung von Software schwierig ist.

Organisation und Skalierung

Mit zunehmender Anzahl von Projekten und Entwicklern wird es schwieriger, Software wiederzuverwenden. Es ist eine Herausforderung, die Details und Anforderungen für die Wiederverwendung von Code effektiv zu kommunizieren. Und es ist schwierig, angemessene Anleitungen und Rückmeldungen zur Wiederverwendung von Code zu geben.

Administration

Da die Anzahl der Projekte und Entwickler wächst, ist es schwierig, Bibliotheken mit wiederverwendbarem Code gemeinsam zu nutzen. Es ist eine Herausforderung, wiederverwendbare Assets auf globaler Basis zu katalogisieren, zu archivieren und abzurufen.

Plattformen wie GitHub können dies erleichtern. Aber es braucht immer noch Zeit und Mühe, um ein nutzbares und skalierbares Code-Repository einzurichten.

Politik und Psychologie

Auf organisatorischer Ebene kann Büropolitik ein Hindernis für die Wiederverwendung von Software sein. Wenn Geschäftseinheiten Autonomie anstreben — oder untereinander konkurrieren -, können sie versuchen, die Wiederverwendung ihrer Vermögenswerte durch andere Einheiten zu blockieren.

Auf individueller Ebene können Entwickler die Wiederverwendung von Code als Erstickung ihrer Kreativität betrachten – oder als mangelndes Vertrauen der Organisation in ihre technischen Fähigkeiten. Solche Wahrnehmungen führen dazu, dass sich einige Entwickler den Bemühungen widersetzen, die Wiederverwendung von Code zu erhöhen.

Herausforderungen bei der Wiederverwendung von Code

Es gibt sowohl betriebliche als auch technische Herausforderungen bei der Wiederverwendung von Code.

Betriebliche Herausforderungen

Die Erstellung von wiederverwendbarem Code erfordert eine Investition von Zeit und Ressourcen während der Entwicklung. Wirklich wiederverwendbarer Code kann auf neue Weise wiederverwendet werden, die sich wesentlich von der ursprünglichen Entwurfsabsicht des Codes unterscheidet.

Mehr Zeit

Um die geplante Wiederverwendung zu unterstützen, müssen Entwicklungsteams zusätzliche Zeit damit verbringen, Dokumentation für ihren Code zu schreiben. Und sie müssen es gründlicher testen als Code, der nur für ein einzelnes Projekt vorgesehen ist.

Dies ist eine Herausforderung für Entwickler mit engen Fristen. Manche scheitern, weil sie zu ehrgeizig sind. Sie investieren zu viel in Upfront-Design-Bemühungen. Andere scheitern an schlechter Planung, mangelnder Designflexibilität oder mangelnder Finanzierung.

Weitere Ressourcen

Um wiederverwendbaren Code zu erstellen, müssen Projektmanager zusätzliche Ressourcen im Voraus planen.

Zu Beginn müssen sich Projektmanager auf die Zeit festlegen, die für das Entwerfen, Dokumentieren und Testen von Code benötigt wird. Die Alternative ist ein kurzfristiger Ansatz, bei dem sie sich darauf konzentrieren, die Software schnell zu entwerfen, um die Fristen ihrer Kunden einzuhalten, und planen, den Code so umzugestalten, dass er zu einem späteren Zeitpunkt wiederverwendet werden kann.

Technische Herausforderungen

Softwarequalität spielt eine große Rolle, wie einfach Software wiederverwendet werden kann.

Es gibt vier wesentliche Merkmale der Softwarequalität, die sich auf die Wiederverwendung auswirken.

Sicherheit

Um wiederverwendet zu werden, muss Code sicher sein. Sie können sicheren Code auf verschiedene Arten sicherstellen, einschließlich der Verwendung einer CWE-Liste.

Zuverlässigkeit

Um wiederverwendet zu werden, muss Code zuverlässig sein. Sie können zuverlässigen Code sicherstellen, indem Sie Verfügbarkeit, Fehlertoleranz und Wiederherstellbarkeit sicherstellen.

Leistungseffizienz

Um wiederverwendet zu werden, muss Code effizient sein. Sie können die Effizienz sicherstellen, indem Sie die Antwortzeiten verbessern und Prozessor, Arbeitsspeicher und Auslastung überwachen.

Wartbarkeit

Um wiederverwendet zu werden, muss Code wartbar sein. Eine Möglichkeit, sicherzustellen, dass Code wartbar ist, besteht darin, sicherzustellen, dass er konform ist.

Die statische Analyse erleichtert die Wiederverwendung von Code

Mit der statischen Analyse können Sie Code problemlos wiederverwenden. Das liegt daran, dass die statische Analyse die allgemeine Codequalität verbessert.

Statische Analyse identifiziert Probleme im Code frühzeitig. Es wird direkt am Quellcode ausgeführt. Auf diese Weise können Qualitätsprüfungen durchgeführt werden, lange bevor der Code für Integrations- und Funktionstests bereit ist.

Statische Codeanalysetools können dabei helfen, häufige Fehler in Sicherheit, Design und Programmablauf zu erkennen. Und sie können Datentyp- und Variablenfunktionsprüfungen durchführen. Diese Tools finden häufig Fehler, die mit anderen Testformen nicht leicht erkannt werden können.

Statische Code-Analyse-Tools:

  • Automatisieren Sie Code-Reviews.
  • Zyklomatische Komplexität reduzieren.
  • Zuverlässigkeit und Sicherheit gewährleisten.
  • Erzwingen von Codierungsstandards.
  • Verbesserung der Legacy-Codebasen.

Und das erleichtert die Wiederverwendung von Code.

Effektive Wiederverwendung von Code

Mit einem statischen Analysetool wie Helix QAC und Klocwork können Sie Code effektiver wiederverwenden.

Erfahren Sie, wie Helix QAC die C— und C++ -Codequalität verbessert – selbst in den komplexesten Codebasen.

ENTDECKEN SIE HELIX QAC

Erfahren Sie, wie Klocwork die Codequalität in C, C ++, C # und Java verbessert — selbst in den komplexesten Codebasen.

Klocwork erkunden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.