Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

22.04.1988 - 

Einhalten von Richtlinien verbessert die Programmqualität:

Individualität auch unter C nicht gefragt

Vieles spricht dafür, bei der Programmentwicklung grundsätzlich nach fest definierten Richtlinien vorzugehen. Die Entwicklung unter C bildet dabei keine Ausnahme. Aber erst die Kontrolle der angewandten Regeln. so Hugo Atzmüller*, gewährt den angestrebten Qualitätsgewinn.

Ziel der Softwaretechnologie ist es, die Entwicklung qualitativ hochwertiger Produkte zu unterstützen. Das bedeutet sowohl die Vorgabe eines methodischen Rahmens als auch die Bereitstellung geeigneter Werkzeuge. Jede Phase stellt dabei eigene Anforderungen.

Für die Softwareimplementierung ist deshalb die Verfügbarkeit einer leistungsfähigen Sprache als Werkzeug zur Formulierung konzipierter Algorithmen entscheidend. Der Einsatz dieser Sprache muß methodischen Grundsätzen genügen. Neben allgemeinen Prinzipien, wie strukturierte Programmierung und Modularisierung, sind sprachspezifische Vorgaben zu beachten.

Diese Regeln (Vorschriften, Hinweise, Empfehlungen) gehen über reine Sprachdefinitionen hinaus und sind in den Programmierrichtlinien zusammengestellt. Hier spiegelt sich die Erfahrung vieler Experten im Umgang mit der Sprache wider.

Auch bei der C-Programmierung wirkt sich die Beachtung allgemeingültiger Regeln zum Vorteil aus - sowohl in der Implementierungsphase als auch beim Test und bei der Wartung. Wesentliche Kriterien sind dabei die Programmiersicherheit und die Produktivität.

Eine einheitliche Verwendung der sprachlichen Ausdrucksmittel erleichtert den Umgang mit einer Sprache. Ferner fördern Erläuterungen und Hinweise die Sicherheit bei der Formulierung.

Auch sollten bei der Programmierung fehlerträchtige Konstrukte verboten werden. Flüchtigkeitsfehler lassen sich zudem durch die formale Einheitlichkeit reduzieren.

Schließlich müssen die Produkte ein geschlossenes Konzept aufweisen. Für individuelle Gepflogenheiten der Programmierer bleibt somit kein Raum mehr.

Schon bei der Erstellung auf Portabilität achten

Die Einarbeitung in fremde Programme läßt sich dadurch erleichtern, daß die Programmierer vertraute Formen benutzen und diese nebeneffektfrei implementiert werden. Denn Wartungsaufgaben setzen Lesbarkeit voraus.

Wichtige Kriterien sind auch die Portabilität und die dadurch erreichbare Investitionssicherung. Wenn schon während der Erstellung auf Portabilität geachtet wird, lassen sich Portierungen zwischen unterschiedlichen Compilern, Betriebssystemen oder Hardwarekonfigurationen erleichtern. Durch dieses Vorgehen wird auch der damit verbundene Aufwand reduziert.

Die Popularität von C steigt ständig. Das liegt zum Teil an der Verbindung mit Unix, aber auch an der Sprache selber. Denn bei C handelt es sich um eine höhere Programmiersprache mit einem sehr großen Anwendungsbereich.

Hervorstechende Merkmale sind auch die Flexibilität und Anpassungsfähigkeit (Preprozessor). Ferner kann C als die Muttersprache von Unix auf allen Rechnersystemen eingesetzt werden. Also läßt sich C als ideale Portierungssprache verwenden.

Dafür, daß auch bei dieser Sprache allgemeingültige Programmierrichtlinien eingehalten werden, sprechen viele Gründe, deren Notwendigkeit sich aus den charakteristischen Merkmalen der Sprache ergibt. Denn C enthält unübliche Fähigkeiten, wie zum Beispiel Operatorenvielfalt und Zeigerumgang.

Auch erlaubt diese Sprache extreme Kompaktifizierung des Quellcodes und läßt viel Freiraum (Typenumfang, Defaults). Charakteristisch ist ferner, daß bei der Programmierung wenig Schreib- und Syntaxfehler vorkommen. Zu guter Letzt ist C noch in keinen verbindlichen Standard eingebunden.

Nun sind die Regeln keineswegs alle gleich wichtig; deshalb werden sie in Klassen unterteilt. Verbindliche Regeln sind unabdingbar, also in allen Projekten und von jedermann zu beachten. Eine Abweichung wird daher in der Überprüfung als Fehler gewertet.

Empfohlene Regeln können dagegen situationsabhängig befolgt oder vernachlässigt werden. Eine Abweichung wird hier jedoch in jedem Fall mit einer Warnung gekennzeichnet.

Informative Regeln dienen der besseren Verständlichkeit des Programmtextes. Hier ist es ebenfalls den Entwicklern überlassen, inwieweit diesbezüglich nach einem vorgegebenen Standard gearbeitet wird Empfehlungen

Inbegriffen sind auch syntaktische Empfehlungen

Allgemeine Regeln können aber nicht alle Projekterfordernisse erfassen. Deshalb sind Auswahl- und Ergänzungsmöglichkeiten vorgesehen.

Die Themenbereiche der Richtlinien setzen sich aus der Darstellung entsprechend der logischen Struktur, der Kommentierung, der Modularisierung und ihre Unterstützung in C zusammen. Inbegriffen sind auch Empfehlungen zur syntaktischen Formulierung. Ferner umfassen die Richtlinien den fehlerträchtigen Sprachgebrauch, Portabilitätsprobleme sowie die Anpassung der Sprachoberfläche.

Richtlinien müssen aus Überzeugung eingehalten werden. Erst die Kontrolle gewährleistet den durch sie angestrebten Qualitätsgewinn. Ziel ist es, jedem C-Programmierer ein Werkzeug an die Hand zu geben, das ihm ermöglicht, die Einhaltung dieser formalen Regeln maschinell zu überprüfen.

Erste Erfahrungen beim Einsatz solcher Tools zeigen, daß damit die Voraussetzungen geschaffen werden, strikt nach den vorgegebenen Richtlinien zu arbeiten. Die Möglichkeit der Selbstkontrolle baut beim Programmierer verständliche Vorurteile ab und erleichtert die Akzeptanz. Die für die unterschiedlichen Projektanforderungen notwendige Flexibilität wird einmal durch die Klassifizierung der Regeln unterstützt, zum anderen kann die Prüfsoftware so parametrisiert werden, daß nur die projektspezifische Regelauswahl überprüft wird.

*Dr. Huso Atzmüller ist Projekleiter bei der Industrieanlagen-Betriebsgesellschaft mbH (IABG), Ottobrunn.