Software-Design für gute Codequalität

Seite: 3/3

Anbieter zum Thema

Open-Source-Code vs. validiertem Code

Als Unterstützung beim Start eines Projektes oder um wichtige Funktionen wie Hardware-Schnittstellen und Betriebssysteme bereitzustellen, nutzen Ingenieure oft Open-Source-Code oder lizenzgebührenfreien Code aus anderen Quellen wie etwa von Halbleiterherstellern. Dabei ist stets zu berücksichtigen, dass dieser Code nicht unbedingt schon validiert wurde. Der Unterschied zwischen validiertem und nicht-validiertem Code ist die Evidenzbasis. Code ohne nachgewiesene Validierung kann für ein Projekt immer noch nützlich sein, erfordert jedoch eine Qualitätsbewertung und bei seinem Einsatz ist Vorsicht geboten.

Bei der Nutzung von offenem Quellcode können die Größe der Community, die diesen Code nutzt, und der Umfang der seitens der Community gebotenen Wartung und Unterstützung als Indikator für die Qualität des Codes dienen. Weiterhin ist zu überlegen, ob das unternehmensinterne Wissen durch die Erstellung eines neuen Codes erweitert werden soll, anstatt Code wieder zu verwenden oder extern zu beschaffen. Neuer Code, den Entwickler selbst validieren können, bietet langfristig womöglich einen größeren Mehrwert. Auch diese Entscheidung muss mit der eigenen Geschäftsstrategie im Einklang stehen.

Bildergalerie

Wenn die Implementation einer Lösung für eine bestimmte Problemstellung komplex ist und die Expertise des internen Teams überschreitet, oder wenn die Herausforderung Spezialwissen außerhalb des Schwerpunkts der eigenen Geschäftstätigkeit erfordert, dann könnte die Beschaffung von validiertem Code aus externen Quellen wirtschaftlicher sein. Würde andererseits die Entwicklungsarbeit den internen Erfahrungsschatz des Unternehmens erhöhen oder gäbe es die Möglichkeit zur Nutzung des Codes für weitere Projekte, dann wäre die Erstellung eines neuen Codes wirtschaftlich vertretbar. Letzterer Fall würde zwar eine größere Anfangsinvestition erfordern, auf lange Sicht jedoch einen größeren Mehrwert bieten. Für einen Wirtschaftlichkeitsnachweis muss ermittelt werden, wo Wert geschaffen und sichergestellt wird, damit sich der erzeugte Wert erfassen und kommunizieren lässt.

Renesas hat das „Make-or-Buy“-Dilemma erkannt, vor dem Unternehmen am Beginn einer jeden Produktentwicklung stehen, und stellt validierte Software zum Einsatz auf Renesas Synergy™ Komponenten bereit. Die validierte Software umfasst Code für Hardware-Treiber, Betriebssystem und Security-Funktionen. Diese Software-Bereiche sind überall in der Entwicklung von elektronischen Produkten zu finden und adressieren beispielsweise keine spezifischen Produkt-Funktionen. Durch den Einsatz dieses Codes gewinnen Entwickler die Freiheit, sich ganz auf ihr Produkt und die Anwendungsbereiche des Systems zu konzentrieren. Dies entlastet Unternehmen außerdem von den Gesamtbetriebskosten dieser Software.

Für die Software-Komponenten bietet Renesas umfassende Gewährleistung, die zu denen der Hardware-Komponenten passt, und liefert bei Bedarf auch Software-Updates. Senkungen der Betriebskosten und Einsparungen beim Entwicklungsaufwand setzen wertvolle Kapazitäten frei. So können sich Entwickler auf die Erstellung von Software für den Kernbereich ihres Geschäfts konzentrieren und größeren Mehrwert erzielen.

Der Schlüssel zur Sicherstellung dieses Wertes heißt Testen. Tests beweisen die korrekte Implementierung validierter Software und machen eine Validierung der neu verfassten Software möglich.

Unabhängig vom gewählten Design, der genutzten Architektur oder Programmiersprache ist ohne die Einhaltung guter Codierungsrichtlinien alles vergeblich. Codierung als Disziplin unterscheidet sich von der Architekturerstellung und Entwicklung. Oft sind daran unterschiedliche Entwickler beteiligt. Codierungsstandards und -Richtlinien sind daher besonders wichtig. Die Klarheit des Codes lässt sich mit einer sorgfältigen Benennung der Daten verbessern. Durch gut benannte Daten und verständliche Erklärungen, warum der Codierer die Software auf eine bestimmte Weise geschrieben hat, lassen sich später bei der Überprüfung und Wartung des Codes viele Arbeitsstunden einsparen. Darüber hinaus ermöglicht die Bereitstellung von ausreichend Debugging- und Testpunkten im Code erhebliche Zeiteinsparungen – ebenso wie eine stringente Verwaltung unterschiedlicher Code-Versionen.

Eine zielgerichtete Architektur und eine robuste, mit prüfbarem, konsistentem und kontrolliertem Code implementierte Schnittstelle helfen dem Entwickler, offenkundig korrekte und wartbare Software zu erstellen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

In diesem Teil wurde speziell der Aspekt des Software-Designs betrachtet. Im zweiten Teil dieses Artikels wird näher auf den Bereich Software-Testing eingegangen.

* Dr. Val Lynch ist CEO bei AND Technology Research.

* Steve Norman ist Manager Global Ecosystems bei Renesas Electronics Europe.

(ID:44950780)