| Programmierphilosophie |
| Geschrieben von: Frank Schlözer |
|
Warum eigentlich eine Programmierphilosophie? Und was ist eigentlich eine Programmierphilosophie? Nun ja, als Programmierer geht man einen langen Weg mit vielen Steinen und teilweise sind auch ganz schön dicke Brocken auf der Strecke. Man lernt auf dem Weg viel, worüber man in der Uni nie gehört hat und lernt aus seinen Fehlern. Eine Programmierphilosophie ist also quasi das Ergebnis von dem Lernen aus Fehlern. Als freier Programmierer ist das Entwickeln von Programmen mein Spezialgebiet und ich möchte in diesem Spezialgebiet möglichst gut sein. Meistens spielen bei einem Projekt auch noch externe Faktoren wie Zeitdruck und Kundenwünsche in letzter Minute eine Rolle, aber ein Programm sollte möglichst perfekt sein. Kundenwünsche in letzter Minute sind z.B. auch eine Folge mangelnder Planung und Kommunikation gegenüber dem Kunden!
Ein Programm sollte möglichst
Benutzerfreundlichkeit ist das A und O! Programmiert werden sollte immer nach dem 'K.I.S.S.'-Prinzip; also: 'Keep It Simple And Straightforward' Zu Deutsch: 'möglichst einfach und geradlinig!'. Jeder Benutzer, der ein Programm zum ersten Mal benutzt, ist ein DAU! Auch ein versierter Programmierer muss sich erst einmal mit der Programmoberfläche vertraut machen und die Funktionsweise verstehen. Unnötige Hinweise oder überladende Menüs stören den Workflow und kosten Zeit, Nerven und Geld! Auf lange Sicht gibt es Nichts Schlimmeres als nervende, repetitive Aufgaben! Deswegen muss der Workflow und die GUI sehr genau durchdacht sein!
Ein Programm sollte gut strukturiert sein und sauber programmiert sein. Dazu gehören verständliche Variablennamen und eine verständliche Dokumentation. Das Programm sollte möglichst modular und erweiterbar sein. Hierzu muss man sich von Anfang an über die Projektplanung Gedanken machen. Welche Klassen werden gebraucht? Was für Schnittstellen sind notwendig? Welche Technologie passt am besten zur Aufgabenstellung? Um gute Qualität zu erreichen, ist vor Allem die Planungsphase entscheidend. Alle Ideen sollten aufgeschrieben und dokumentiert werden. Dazu gehören z.B. UML-Diagramme und Skizzen von Datenbanken. Weiterhin ist ein Projekttagebuch notwendig, wo Zwischenziele und Zeiten abgeschätzt und eingetragen werden können.
Für den Kunden sind die Vorgänge bei der Programmierung vergleichbar mit Atomphysik; Der Kunde möchte ein bestimmtes Ergebnis und kann schlecht den Arbeitsaufwand abschätzen. Daher ist die Kommunikation mit dem Kunden sehr wichtig; vor Allem um Missverständnisse zu vermeiden. Der Kunde kann den Aufwand nicht abschätzen, die z.B. eine nachträgliche Änderung mit sich bringt, auch wenn die Änderung noch so trivial klingt. Deswegen ist ein Pflichtenheft sehr wichtig, wo die genauen Ziele schriftlich festgehalten sind. Der Kunde weiß, was er bekommt und der Programmierer weiß genau, was er machen soll. Trotzdem ist es manchmal für den Kunden frustrierend, weil das Projekt für ihn in einer undefinierten Phase steckt. Daher sollte der Kunde Zugriff auf den Projektstatus haben und sich informieren können, woran der Programmierer gerade arbeitet. |
| Aktualisiert ( Dienstag, den 15. Juni 2010 um 15:00 Uhr ) |




