Vorwort
In diesem Artikel möchte ich einige allgemeine Aspekte der Programmierung anbringen, auf die gerade im Hobbybereich wenig geachtet wird.
Es geht um die Art wie man Quelltexte schreibt und um das was man damit genau bezwecken will.
Schlechter Code
Schlechter Code entsteht schnell und meist regt er dazu an noch mehr davon zu produzieren.
Oftmals bekomme ich auf Arbeit Projekte, in denen es einfach kein Konzept gibt.
Dort werden oft doppelt und dreifach die gleichen SQL - Queries erzeugt ohne dafür zumindest eine Funktion zu schreiben.
Neulich sah ich einen Quelcode, der bestand aus If-Else Blöcken über 1200 Zeilen!
Nicht nur im Hobbybereich, sondern auch bei etlichen kommerziellen Projekten wird häufig nicht an die Qualität des Codes gedacht.
Mittelfristig und Langfristig denken...
...ist eine Kunst, die es ermöglicht Kunden auch in 10 Jahren noch zufrieden zu stellen (und überhaupt welche zu haben).
Oftmals arbeiten Agenturen nur um kurzfristig Umsatz zu machen. Schnell werden Projekte für unmögliche Budgets verkauft, der Druck auf den Programmierer abgewältzt, welcher dann unter diesem Druck schnell und unsauber arbeitet.
Das Gleiche trifft auch auf Hobbyprojekte zu, nur dass man sich hier den Druck selbst zu schaffen vermag.
Dennoch sollte ein guter Programmierer auch immer die Zukunft des Projektes sehen.
Kaum eine Software wird nicht nach dem Release nochmal verwendet.
Internetseiten müssen gepfelgt, neue Features implementiert werden.
Spieltitel sollen eine Fortsetzung erfahren und man würde gern den ein oder anderen Algorithmus wiederverwenden.
Das Auge programmiert mit
Ja logisch ich muss ja was sehen...
Jeder der programmiert wird schon einmal erlebt haben, dass man in einem Quelltext einfach nicht durchsieht.
Das liegt oft gar nicht an der logischen Komplexität, als vielmehr daran, dass das Gehirn versucht chaotische Anordnungen auszublenden.
Das sind normale Menschliche Reflexe.
Unübersichtlicher Code ist unleserlich -> nicht lesbar.
Aber Quelltexte sind dazu da um gelesen zu werden. Sie dienen nicht nur dem heruntertippen einer einfacheren, formaleren Ausdrucksart.
Sie sind Kommunikationsmittel!
Selbst wenn ich den Quelltext niemandem zeige, so dienen sie immernoch mir selbst. Ich muss meine Codes selbst lesen können um evtl. später das Beste wieder zu verwenden, und ich muss es dann immernoch verstehen.
Sinn und Zweck meines Quelltextes
Mein Quelltext dient nicht sich selbst.
Es gibt gerade in der Open Source - Gemeinde manchmal den Trend, dass sich junge Entwickler mit tollen Algorithmen profilieren wollen.
Ein BASIC-Interpreter der in einer einzigen 2-Zeilen-for-Schleife läuft z.B.
Klar, das ist schon eine erstaunliche Leistung.
Man sollte sich aber darüber im Klaren sein, dass wir hier keine Programmierwettbewerbe veranstalen, sondern Projekte schaffen wollen.
Da ist es ganz und gar egal, wie "cool" etwas Umgesetzt ist. Wichtig ist, dass es funktioniert, und das am besten auch noch gut.
Teamfähigkeit entwickeln, auch im Code
Fast alle Projekte sind Teamprojekte. Darum sollte man bei jeder Zeile Code darüber nachdenken, dass es ein wichtiger Vorteil ist, wenn jeder den Code versteht den ich gerade eintippe.
Dazu gehören sinnvolle Variablennamen.
Es mag schwierig erscheinen, aber man kann auch einen Iterator gut benennen.
Selbst wenn _iEnemyIterator evtl. 2 Sekunden länger zum Tippen verlangt, spart es meist 2 Minuten eines anderen, wenn er mit dem Iterator noch was anfangen muss.
Denkt immer an eure Teammitglieder und daran was diese tun müssen um mit eurer Arbeit weiter zu machen, bzw. daran anzuknüpfen!
Guter Stil
Jedes Team sollte