Biesterfeld: (C) Datenmodell für größere Programme

Beitrag lesen

Hej Markus,

Bisher bin ich schon zwei Mal an einem größeren privaten Projekt gescheitert, da ich im Laufe des Programmierens plötzlich andere Richtungen einschlagen musste, wodurch der Code immer mehr zum Spaghetticode mutierte und das Programm mehr und mehr unübersichtlicher wurde, wobei mir nach einigen Tagen, in denen ich nicht am Projekt gearbeitet hatte, nicht mal die Tonnen an Kommentaren halfen die ich dazugschrieb.

Kenn ich. Kenn auch niemanden der nicht zumindest berichten würde genau so angefangen zu haben.

Deine Probleme sind letzendlich Gegenstand der Wissenschaft die sich mit Softwaremodellierung auseinandersetzt. Ich weiß jetzt nicht ob du schonmal was von UML gehört hast, aber das ist genau die Modellierungssprache die versucht, zunächst die Semantik einer Software zu erfassen. Ein Buchtip, der ganz gut sein soll (hab es allerdings selber nicht gelesen) ist der von Bernhard Rumpe, Modellierung mit UML.

Wie geht ma so etwas eigentlich am besten an? Gibt es irgendwelche Eselsbrücken, um die einzelnen Aufgaben als solche auch zu erkennen und dementsprechend die Funktionen oder Klassen zu gestalten? Natürlich habe ich immer grobe Vorstellungen darüber, was ich ungefähr wie strukturieren will,

Aufschreiben! Wie dir Lulu schon gesagt hat. Erstmal ein Klassen-Diagramm schreiben. Software-Tools wie z.B. Poseidon helfen dir dabei.
Dann alle Klassen, Felder und Methoden ausführlich (!) dokumentieren. Also wirklich sagen, was sie machen sollen und wie sie es machen sollen. Erst wenn du das Gefühl hast, das Modell entspricht der fertigen Software, setzt du dich an die Implementation. Natürlich wird es jetzt nochmal zu Änderungen im Modell (dem sog. Refactoring) kommen, aber mach dir klar, dass der Umfang der Änderung direkt mit dem Ausmaß an nachsichziehenden Problemen korelliert.

Beste Grüße
Biesterfeld

--
"Nein! ... Nein, schneller, leichter, verführerischer die dunkle Seite ist."