Dies ist eine alte Version des Dokuments!


Vorgaben für die Softwareentwicklung

  • Es empfiehlt sich für alle definierten und deklarierten Namen die Englische Sprache zu verwenden. Für Variablen, Funktionen und Kommentare darf die Deutsche Sprache genutzt werden.
  • Eine detailliertere Liste ist im Embedded System development Coding Reference Guide zu finden.
  • Neben der Struktur beim Programmieren zählt auch eine interessante und schöne Umsetzung für den Nutzer in die Bewertung.
  • Stellen Sie Ihrem Programm einen beschreibenden Kommentar voran.
  • Dieser sollte in der Form sein, wie die Beschreibung in den Übungsprogrammen.
  • Beschreiben Sie darin, ob
    • weitere c- oder h-files eingebunden müssen
    • Jumper gesetzt / geöffnet werden müssen
    • spezielle Hardware genutzt werden muss

Beschreibung

  • Während der Entwicklungsphase kann es sich anbieten Code testweise auszukommentieren. Für die finale Version sollten die Kommentare aber „sauber“ sein.
  • Falls es alternative Werte gibt, welche optional sinnvoll sind, können diese und deren Konsequenzen in ein Kommentar gepackt werden.

Beispiel für auskommentierten Code

  • Nutzen Sie für die Manipulation von Bits die vorgegebenen Makros.
  • Beim Erstellen von eigenen Makros sollte auf Querwirkungen geachtet werden, da ein Makro eine Codeersetzung vor dem Compiler durchführt.

Beispiel für die vordefinierten Makros

  • Konstanten per #define sollten z.B. für die feste Größe von Arrays verwendet werden. Sie können (bzw. werden) auch für hardwarenahe Werte, wie Portnummern, genutzt werden.
  • Auch Werte in enum sind Konstanten. Für Konstanten mit ähnlichem Hintergrund (z.B. Tage, s.u.) sollten enum genutzt werden. Damit können Variablen auch als enum-Typ definiert werden, was den Code leserlicher macht.
  • Bei Defines wird keine Typisierung überwacht. Ist dies notwendig empfiehlt es sich const Variablen zu nutzen.
  • Konstanten per #define oder enum sind komplett in Großbuchstaben zu schreiben, um diese von Variablen zu unterscheiden.
  • Falls Sie aus mehreren Wörtern zusammengefügt sind, sollten Sie mit Unterstrich getrennt werden.

enum tage {MONTAG, DIENSTAG, MITTWOCH, DONNERSTAG, FREITAG, SAMSTAG, SONNTAG}; 

for (enum tage aktuellerTag = MONTAG; aktuellerTag <= SONNTAG; aktuellerTag++)
{...};

Beispiel für Konstanten

  • Wenn sich Werte im Programm zur Laufzeit ändern, so sollten diese als Variable angelegt werden.
  • Nutzen Sie soweit es geht const Variablen für alle Werte im Programm, welche zur Laufzeit nicht mehr geändert werden. Wichtig: Das gilt z.B. für Grenzen von Schleifen ( for(int i=0; i<iMax;i=i+1)) oder für Sonderzeichen. Bei größeren Programmen biete es sich an die const Variablen mit in einem separaten header zu pflegen.
  • Variablen beginnen mit Kleinbuchstaben.
  • Falls Sie aus mehreren Wörtern zusammengefügt sind, so werden die folgenden Wörter ohne Unterstrich direkt angefügt, aber groß geschrieben. Dies wird auch als „BinnenMajuskel“ oder „camelCase“ bezeichnet.
  • Vermeiden Sie zu allgemeine Namen, wie anzahl, uebergabewert oder string. Sinnvoller sind Namen, wie anzahlBuchstaben, stunden, ausgabeString. Durch die Autovervollständigung (Vorschläge unter dem eingegebenen Text) sind auch längere Namen schnell einzugeben, bzw mit Cursortasten und TAB auswählbar.
  • Nutzen sie auch bei Zählvariablen aussagekräftige Namen.
  • Auch kann eine zu allgemeine Deklaration kann zu Problemen führen. Schlecht ist z.B. „int a;“.
  • Es bietet sich an bei der Definition bereits zu initialisieren. Gut ist also „bool a=1;“.

Beispiel für Variablen