Dies ist eine alte Version des Dokuments!


Programmierrichtlinien für C

Namensgebung

Namen für beginnen mit Beispiele
Konstanten Substantiv Kleinbuchstaben size, pwm, serialVersionUID
System-Konstanten PORTF, FPSCR, DDR, PI 1)
Variablen Substantiv Kleinbuchstaben version, wordSize
Adjektiv Kleinbuchstaben full, ready
Fuktionen Substantiv Kleinbuchstaben length()
Adjektiv Kleinbuchstaben full(), equal()2)
Methoden Verb Kleinbuchstaben drawLine()3)

Namenslänge: Lokale, temporär verwendete Namen sollten kurz sein (z.B. m, k, len). Globale, wichtige Namen sollten sprechend, aber nicht zu lang sein (z.B. words, nofEntries).

Sprache: Wählen sie englische Namen. Sie sind meist kürzer als deutsche Namen und passen besser zu den englischen Schlüsselwörtern. Ausserdem können sie Programme mit englischen Namen leichter an Personen weitergeben, die kein Deutsch verstehen (z.B. über das Internet).

Worttrennung: Die Lesbarkeit von Namen, die aus mehreren Wörtern bestehen, wird durch entsprechende Gross-/Kleinschreibung (z.B. drawLine) verbessert, solche Bezeichner werden vom Leser rascher als Einheit erfasst und können besser von Parameterlisten unterschieden werden, als die Trennung mit Unterstrichen, z.B. draw_line. Die letztere Variante hat ihre Wurzeln in der Zeit, als die „Schnell-Drucker“ nur Grossbuchstaben drucken konnten.

Quellen

  • Coplien, James, O: Advanced C++ Programming Styles and Idioms; Addison-Wesley for High Quality Embedded Systems at AT&T Bell Laboratories
  • Henricson, Mats; Nyquist, Erik: Programming in C++, Rules and Recommendations for High Quality Embedded Systems at Ellemtel Telecommunication Systems Laboratories (Ellemtel: Software-Entwicklung von Ericsson)
  • Richtlinien für die Programmierung in Java (NTB)
1)
Konstanten aus Reference-, User- Manuals, etc. werden wenn möglich so übernommen, wie sie in diesen Quellen festgelegt sind, es sei denn, sie widersprechen der C-Syntax. Wichtig ist, dass man diese rechnerunterstützt, case-sensitive (Ctrl-F) suchen kann.
2)
Name bezeichnet Fuktionswert
3)
Imperativ