Hallo Programmierfreunde!
Was ich jetzt erstelle, brennt mir schon seit Tagen unter den Nägeln, nun ist es wegen
dieses Beitrages soweit.
Im Verlaufe meiner mehrjährigen Forumsaktivität stieß ich auf mehrere Grundsätze, die ich teilweise bis gar nicht nachvollziehen kann. Just fallen mir drei ein:
1. Die Verteufelung des GOTOs. Sog. Spaghetticode mag auch ich nicht, aber wenn er funktioniert, ist gegen ihn nur einzuwenden, daß er schwierig nachzuvollziehen ist. Wer es so gewohnt ist, wer so am besten denken kann und fehlerfreie Ergebnisse liefert, dem solle man das so machen lassen, vor allem, wenn er für sich selbst programmiert und die Quellcodes aus gutem Willen beilegt. Ein dosiertes Verwenden dieses Sprungbefehles kann Code kürzer, effizienter und schneller machen. Machen wir uns nichts vor: break und exit sind verkappte GOTOs, die all' die zufrieden- und ruhigstellen sollen, die das GOTO scheuen wie der Teufel das Weihwasser (ich nicht).
2. Die Ablehnung globaler Variablen. Auch, wenn man keine explizit formuliert, so gibt es diese jedoch in Form z.B. bei der
VCL-Programmierung in Form der Formulare (hier zeigt sich übrigens, daß exakter Ausdruck notwendig ist, denn wie verständlich wäre wohl "in Form der Forms"?!). Wenn der Compiler globale Variablen akzeptiert und dabei nicht mal mit Hinweisen oder gar Warnungen daherkommt, was ist daran so verdammenswert?
3. Die Forderung, Oberfläche und Rechenteil zu trennen. Dauern Berechnungen länger, ist die Oberfläche bei nur einem
VCL-Thread unbedienbar,
dann kann ich diese Forderung nachvollziehen. Doch was ist mit der Speicherung? Warum z.B. soll man ein StringGrid neben der Darstellung nicht gleich auch noch für die Speicherung derselben Daten verwenden (mißbrauchen?), wenn es dafür doch grundsätzlich geeignet ist, insbesondere, wenn man nur mit Strings operiert (ansonsten kommen lästige Konvertierungen hinzu)? Speichert man die angezeigten Daten "extra", so erhöhen sich m.E. tendenziell Quellcode (Übersichtlichkeit!) und Compilatsgröße. Gerade bei meinen 1-Mann-Projekten und begrenzten Programmierfähigkeiten ist es wichtig, den/die Quellcode(s) möglichst kompakt zu halten.
Vielleicht fallen Euch noch mehr solcher Grundsatzforderungen ein, die auf mich in ihrer reinen Form, ich nenne es ganz deutlich, die Tendenz zum Dogma erkennen lassen.
Wie sind Eure Meinungen dazu?
Gruß Delphi-Laie
Ergänzung: 4. An der Strukturierung der Quelltexte (Einrückungen usw.) scheiden sich auch regelmäßig die Geister bis hin zu ideologischen Grabenkriegen.