Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs 2009/Vortrag07/Gedanken

Ein paar Genanken

Guter Code? Was ist gut? Die frage ob etwas gut oder schlecht ist, definiert sich über das Ziel, dass man hat.

Erst wenn man sich darüber im klaren ist, was man für ein Ziel hat kann man sich die Frage stellen ob etwas gut ist. z.B.: was für ein Auto ist gut? Ein Bus, ein Lastwagen, ein Rennwagen? Es kommt ganz darauf an ob man viele Leute mitnehmen will, viel Krams mitnehmen will oder einfach schnell sein will.

Was will man üblicher weise erreichen wenn man Programmiert. Zunächst einmal will man der Maschine sagen was sie tun soll. Aber ist das alles?

Meistens will man den Code selber später nochmal lesen und verstehen. Also schreibt man ihn auch für sich.

Sehr oft schreibt man den Code mit anderen zusammen oder als Teil eines Projektes mit Anderen. Also schreibt man ihn auch für andere.

Warum ist guter Code, gutes Layout wichtig?

Ihr schreibt den Programmcode nicht für den Computer sondern für euch und andere Menschen. Sonst könntet ihr das ganze gleich in Assembler rein hacken und es dann vergessen.

Programmieren uns Softwareengineering ist bis auf wenige ausnahmen ein sehr kommunikativer und zwischenmenschlicher Prozess. Deswegen haben Informatiker auch eine so hohe Sozialkompetenz (Kein Scherz)

Ihr schreibt den Code, damit ihn andere Leute oder ihr selber später mal lesen könnt. Programmieren ist eine besondere Art der Kommunikation. Genau wie die Menschliche Sprache ein Medium für Informationen, Gedanken und Konzepten ist, wird die Programmiersprache genau dazu benutzt mit der Besonderheit dass sie sogar ein Computer verstehen kann, aber das ist eigentlich nebensächlich ;-).

Guter Code ist sehr hilfreich beim Auffinden von Fehlern.

Guter Code lässt sich leichter ändern und anpassen.

Ihr seht also es ist wichtig sich beim Schreiben von Code an bestimmte Regeln zu halten. Ein Programm zu schreiben was nur der Compiler versteht uns sonst niemand anders ist keine Kunst und obendrein nutzlos.

Die frage ob ein Code gut ist oder nicht, kann man nicht so leicht beantworten, da es kein Maß gibt, und keine Methode um dies zu ermitteln.

Für guten Code braucht man ein Gutes design. Guter Code fängt beim design der Funktionen, Prozeduren, Modulen, Strukturen und dessen Zusammenspiel an.


Verschiedene Stufen der Code Qualität:

  • Laufender Code (Compiler)
  • Richtiger Code (Beweise / Test)
  • Guter Code (Intuition / Geschmack)


Woran erkennt man guten Code?

  • Guter Code ist einfach zu lesen und leicht zu verstehen, auch wenn man die Sprache nicht kennt.
  • Guter Code ist kurz und einfach.
  • Bei gutem Code muss man nicht lange darüber um ihn zu verstehen.
  • Guter Code ist in sich geschlossen.
  • Guter Code lässt sich einfach ändern und anpassen.
  • Guter Code hat keine unnötigen Wiederholungen.
  • Guter Code tut das, was er soll.


Stichworte: Einfachheit, Lesbarkeit, Modularität, Schichten, Design, Effizienz, Eleganz, und Klarheit

Bezeichner (Variablen-, Funktionen): Eindeutig, Selbsterklärend, Konventionen: Ungarische Notation (Apps Hungarian, Systems Hungarian)

Versionsverwaltung kann hilfreich sein um guten Code zu erzeugen.