Programmierstil

Ein Programmierstil (englische Code-Konventionen , Codierungskonventionen , Codierungsstandards ) ist nach Abschluss der Regel in der Programmieranleitung des Quell-Codes enthalten . Ist vergoldet als Teilaspekt von Softwarequalität wo insbesondere sterben Verständlichkeit und Wartbarkeit von Software , stirbt Sind Krite Rien für Softwarequalität gem. ISO / IEC 9126 (aktualisiert ISO / IEC 25000 ) unterstützen.

Ein Programmierstil und sterben Vorgaben dazu Regeln, „wie“ ein Applications, d H. Sein Quellcode, in Formalen und Struktur oder hinsicht gestaltet sein soll -. Unabhängig Davon, „war“ das Programm Leisten soll. Dabei Wirken drei Aspekte zusammen:

  • Die Vorschrift: Die Definition von Konventionen / Standards. Im Sinne von (Software) „Qualität“ (= „Das Erfüllen von Anforderungen“) sind diese „Anforderungen“.
  • Die Handlung: Das Umsetzen / Besprechungen dieser Regeln; ‚Programmierer‘ / erstellen von Applikationen – Code
  • Das Ergebnis: Der Quelltext mit seiner Struktur und seinem Erscheinungsbild; im Rahmen der Qualitätssicherung auf Einhaltung der Vorschrift (über) überprüfbar

Auf die gleiche Weise bezeichnete Sinn die Programmierparadigmen als (fundamental) programmierbar. [1]

Die beurteilung Eines Programmierstil Necessesary in der Regel eines semantischen Tiefer Deschamps Dezember Programmquelltextes. Aus diesem Grunde Ist Stil Checker und Beautifier bisher nicht oder nur äußerst Eingeschränkt in der Lage, stirbt Überprüfung Auf einem guten Programmierstil bezüglich of this Elemente durchzuführen BZW. Eine einhaltung gewährleisten zu Können.

Zweck

Der Zweck eines definierten Programmiers ist die Erschaffung der Arbeit eines jeden Programmierprojektes. Dies ist besonders wichtig im Hinblick auf die Lesbarkeit, Relevanz und Wartbarkeit von Programm-Quelltext bzw. Die Eliminierung verbessert Fehlerquellen in Programmen.

Im Sinne der Verständlichkeit und Wartbarkeit Kanns Eine Richt Linie verwendung von programmsprachlich Erlaubt (aber „Unsauberes“) Programmkonstrukten einschränken oder ganz verbieten sterben. Die einhaltung von vorgängig definierten Nomenklatur für die Variable, Prozeduren und Klas Senn Amen Können Lesbarkeit und Wartbarkeit Ein Programmcodes wesentlich verbessern.

Wähend der Wartung ist die Einhaltung eines definierten Programmierstifts, weder schwerer noch der Entwicklung der Entwicklung. Wenn Richtwert gilt, 80% der Lebensdauer eines Softwareprodukts auf die Wartung fallen. Nur wird ein Produkt vom ersten Programmierer überwacht. Umso wichtiger ist es, dass es vom ersten Augenblick an ein besseres Programmierstil wird.

Ein Programmierstil sollte nicht unbedingt Wie eine Lehre ausgelegt Werden. Verstöße dagegen sollten Erlaubt sein, soferne sie gut Sind begründet. Dies Kann in Einzelfällen beispielsweise (beim Programmierstil im Betten Wut) Durch optimiert Platzausnutzung des verbessern Überblick, Durch Betonung Bestimmt EInzelheiten wo Verständlichkeit Dien oder als Ad-hoc-Probes Regel für besondere Codeteile stirbt Ziel des Programmierstil mit Anderen mitteln verfolgen.

Beispiele für Elemente des Programmierstils

Die Inferenz, der Gegenstand eines Programmierstils, kann von Fall zu Fall unterschiedliches Signal sein. Die Bandbreite reicht von einfachen Code-Strukturierung (Einrückungen) bis zu Festlegungen für alle „Who“ der Implementierung bezogenen Details.

In Größere Die Projekte und Unternehmen , wo viele Beteiligte in der Softwareentwicklung Zusammenarbeit, Werden sterben Exigences zum Programmierstil Hauf in Programmierrichtlinien festgelegt. Bogen Often this auf überbetrieblich oder international veröffentlicht und Konventionen Empfehlungen auf; Beispiel ist „stirbt Ungarische Notation “ oder sterben „Java – Code Conventions“. [2] Ein Teil der Regeln ist auf sterben Verwendete Programmiersprache ausgerichtet. Einzeln oder viele Elemente can situationsbedingt Unterschiedlich wichtigSignal (von „Muss“ bis zu „nicht relevant“); z. B. abhängig davon, die Software zum einmaligen Gebrauch oder Downgrade zu verwenden, sollen. Ich bin privat oder Cousin-versierte .

Beispiele für Elemente des Programmierstils sind nachfolgend aufgeführt (aus. Aus [3] ):

  • Verwendung der üblichen Programmiersprachen (z. B. Objektorientierte Programmierung )
  • Festlegung von Namenskonventionen : Wer Bezeichner zu wählen?
  • Anwendung von Entwurfsmustern
  • Verwendung von Compilerdirektiven und -Schaltern
  • Strukturierung des Codes (Einrückungen, Modul- / Prozessröhre, GOTO-Verb): Wo soll Leerzeichen stehen? Wer ist einzurücken? Maximale Zeilenanzahl einer Routine.
  • Typisierung (Wahl des Typs für ein Symbol oder eine Variable)
  • Initialisieren von Variablen
  • Zugriff auf Variable schreitet fort Objekte / Prozesse
  • Gestaltung von Funktionsaufrufen (Parameterübergaben, Rückgabewerte)
  • Pflichtformular zu verwendende Standardkomponenten, Wer Unterprogramme , APIs usw.
  • Vermehrung von Redundanz und möglichkeiten – durch Modularisierung
  • Unabhängigkeit unterschiedlicher Programmteile ( Modularität )
  • Einheitlichkeit bei der Lösung gleichartiger Probleme, z. B. durch Normierte Programmierung
  • Robustheit durch sorgfältige Fehler- und Ausnahmebehandlung
  • Umfang und Form der Dokumentation : Sie prozeur, your sail; Detaillierungsgrad; abgestimmt auf weitere Dokumente

Beispiel Quelltextformatierung

Wicht Aspekte des Programmierstil Ist Die anordnung von untergeordneten Programmelementen ( Einrückungsstil ), sterben DAMIT unmittelbar available in Positionierung sterben umschließender SYNT Axel Wie Did {}[]()BEGINoder ENDeinfluss HAT, Sowie der Einsatz von Leerzeichen und Leerzeilen und stirbt Verschachtelungstiefe untergeordnetes Programm Mele Mente.

Darüber hinaus ist die Abwesenheit von Kommentaren im Quellcode ein Zeichen für einen schlechten Programma stil. Ein Programmierer muss immer diesen Code haben, der von andre gelesen und witsen muss, hierfür sind Kommentare unerklärlich. Heutzutage gibt es auch häufig formate for comments, die beis- nach single- und outputparameter eine Funktion oder Methode einzeln erklären. Characterized can this von automatischen Dokumentationsprogramme Wie doxygen oder javadoc used Werden, um Ein vollautomatische menschenlesbare Dokumentation zu generieren.

Auch de Nationskonventionen für Symbole spielen eine wichtige Rolle bei der Entwicklung des Programmierstils. There Name Symbole Sollte die Funktion oder Verwendungszweck nicht verständlich erklären. Wenn heute ausreichend speicherplatz für den Kodex zur verfügung STAND, das ist früher Übliches platz sparend verwendung von Kürzeln Wie zum Beispiel „dskmngr“ nicht mehr gerechtfertigt. Hauf Wird für Unterschiedlich Arten von Symbolen Auch Eine Unterschiedlich Schreibweise used, um so bin Symbol Amen Ables zu can, ob es sich um Eine Variable , Eine Funktion , Eine Klasse oder Eine Konstante usw. Handelt. (Siehe auch Ungarische Notation). In diesem Beispiel ist die Bedeutung der Symbole die Bedeutung der Symbole sowie der Deklaration Empfänge der Bedeutung.

Diese Aspekte der Quelltextformatierung stehen im Einklang mit der optischen Lesbarkeit, die unmittelbar auf die Comprehensive Programming Quotes anwendbar ist.

Style Checker Wer Wiegen Checkstyle Können Wer misst Kriterien für die Ein-Minuten-Programmierung Stil des Jahres Elemente überprüfen. Beautifier sind in der Lage, durch Umformatierung des Quelltxtes die Einhaltung eines guten Stils vor diese Elemente zu gewährleisten.

Umstrittene Elemente

Die folgenden Elemente von Programmierstilen sind gespreizt. Es folgt zu jedem Element eine Gegenüberstellung der Argumente der Jeweiligen Beworworner und Gegner. Falls möglich und als allgemein auspiruubare, schließt sich eine Empfehlung an die umerstenen Elemente an.

Zeilenlänge

Wird eine Begrenzung der Zeilenlänge als guter Programma noch angezeigt. Für eine bestimmte Begrenzung sprechen (Sie nach festgelegter Maximal-Zeilenlänge), dass

  • in der Regel leichter als in der englischen Sprache (mehr als nur eine lange Schlange, automatisch), sehen die mehrspaltigen Satz von Zeitungen
  • Englisch: www.micro-epsilon.com/applications/…n/index.html Schweißen in einzelnen Teilen / Segeln untergliedern
  • Vergleichswerkzeuge Wie diff zeilenweise oft Arbeiten und dabei Änderung leichter zu Erkennen Sind
  • Auf selbigen druckbaren Bereich (80 Zeichen) semantisch motivierte Zeilenumbrüche und Einrückungen auch im Ausdruck erhalten bleiben

Gegen eine Begrenzung der Zeilenlänge (auch für ungekannte Zeilen) spricht man

  • stirbt Handhabe beim Programmieren oder bei der Einrichtung der IDE erforderlich
  • Besonders belästigende APIs verwöhnten lange Symbolnamen, wobei diese Einstellung sehr lange segeln begünstigte
  • Bei einer Suche mit grep die Förderstelle – pro Voreinstellung eine einzige Sohne ohne Kontextzeilen – die in der Lage sind, die Bewerbung abzuschließen

Wenn Konssens klingen mag, haben Sie lange Segel keinen Fall mehr als eine Anweisung erhalten.

Einrückungsstil

Der Einrückungsstil ist wohl der häufigste Punkt eines Programmierstils.

Folgende Empfehlungen logen wie allgemein anerkannt:

  • Festsetzung innerhalb eines Projektes, Teilprojekts, Teams oder Unternehmens. Beispiel: „Für unsichere Open Source Projekte in C und C ++, siehe GNU-Coding-Standards, für Java Basics, die Code Conventions von SUN und anonym von Allman enthalten werden.“
  • Konsequente Umsetzung
  • Keine Mischung unterschiedlicher Stile in einem Projekt

Ebenfalls fiel die Diskussion der Frage der Einrückungstiefe für unterzeichnete Blöcke und ob nun ein Leerzeichen oder Tabulator Vorzug gegeben werden soll. So ist die Code Convention für Java Beispiele einer Einrückungsidee von Vier Leerzeilen, die die Code Convention für Linux festlegt, eine der acht Zeichen vor Einrückungssätze. Der Vorteil der Einrückung mit Leerzeichen besteht darin, dass eine Anzeige unabhängig von Anzeigeoptionen des Anzeigeprogramms oder Editors beibehalten wird.

Tabulator sirre connectors connectors controls controls controls controls controls, die in der Lage sind, die dargestellte Einrückungstiefe zu verwenden. You can be required. Eine Mischung von Tabulatoren und Leerzeichen der Einrückung führt zu einem eindeutigen Rücksetzungsstil für Elemente der gleichen Hierarchiestufe, der Lesbarkeit ist sehr ähnlich.

Regeln

Unique Quality Standards in Softwareumfeld ( IEC 61508 , CMMI , SPICE usw.) für die Anwendung der Regelwerke für die Programmierung. Beispielhaft ist der MISRA-C vorprogrammiert.

Siehe auch

  • Codequalität

Literatur

  • Joseph Bergin: Kodierung auf der niedrigsten Ebene . Coding Patterns für Java Anfänger. Hrsg .: Pace Universität. ( pace.edu [abgerufen am 19. Februar 2010]).

Weblinks

  • Google Java-Codestil (Englisch)
  • Die GNU-Codierungsstandards (Englisch)
  • Linux-Kernel-Codierungsstil (Englisch)
  • OpenBSD Kernel Quelldatei Style Guide (KNF) (Englisch)
  • ActionScript-Codierungsstandards von MacroMedia (Englisch)
  • Object Pascal Style Guide (Englisch)
  • PHP PEAR Codierstandards (Englisch)

Einzelstunden

  1. Hochspringen↑ Andreas Schwill, Universität Paderborn: Programmierstile im Anfangsunterricht
  2. Hochspringen↑ Oracle- Code-Konventionen für die Programmiersprache Java TM [1] (1999)
  3. Hochspringen↑ Dein Sauerland: Direktionaler Programmierstil