Hi,
Ich würde gerne wissen, welche vorbereitungen ihr auf größere projekte macht.
also z.B. mindaps, usw. Was macht ihr da nomalerweise?
Ich habe nämlich vor ein Aufwendigen Scriptinterpreter mit Grafischer Oberfläche, Tokenizer, Paser und was alles dazugehört zu schreiben, und möchte da sehr gut vorbereitet drauf losgehen, da es sonst nur ein riesiges Code gewusel wird.
Wie kann man sich daruaf am besten vorbereiten?
Projekt vorbereitung
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Mein Bestes beispiel dürfte meine "2D Engine" sein, auch wenn es noch ein relatives kleines Projekt ist möchte ich erwähnen.
An der Engine bastel ich seit November rum... und es kommen immer neue sachen hinzu. Wie z.b. auch meine GUI die drauf Basiert *freu*.
Ich mache mir nur Gründliche Gedanken darüber und eine art "Testreihe".
Ob die ersten schritte wirklich so klappen wie ich sie mir vorgestellt habe, meistens tuen sie das auch.
An der Engine bastel ich seit November rum... und es kommen immer neue sachen hinzu. Wie z.b. auch meine GUI die drauf Basiert *freu*.
Ich mache mir nur Gründliche Gedanken darüber und eine art "Testreihe".
Ob die ersten schritte wirklich so klappen wie ich sie mir vorgestellt habe, meistens tuen sie das auch.
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: Projekt vorbereitung
hanibal hat geschrieben:also z.B. mindaps, usw. Was macht ihr da nomalerweise?
Mindmaps, Programmablaufdiagramme, u.s.w. - was man davon braucht, muss jeder für sich selbst entscheiden. Ich weiß nicht, ob es hier wirklich eine universelle Methode gibt.
Ich mache das meist wie folgt:
Ich suche mir eine ruhige Minute, setze mich in dem Sessel in meinem Zimmer und mache mir Gedanken:
1. Zuerst die grobe Struktur;
2. Dann immer feinere Details.
und irgendwann hab ich dann ein fertiges Konzept im Kopf, was ich dann umsetze. Sollte eine größere Zeitspanne zwischen meinen Gedanken und der Umsetzung liegen, verschriftliche ich die Ideen stichpunktartig.
Aber wie gesagt - hier hat wohl jeder seine eigenen Methoden. Bei Parser u.s.w. würde ich dir empfehlen, dir besonders detailierte Gedanken zu machen. Kann ansonsten ärgerlich enden.
-
- Beiträge: 370
- Registriert: Di 6. Feb 2007, 09:29
- OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
- CPU-Target: 32bit i386, ARM
- Wohnort: Oberösterreich
Ich finde MindMaps ziemlich gut und verwende diese auch, um die Gedanken auf Papier zu bringen. Erst eben wirklich mit Stift und Papier, dann mit Freemind.
(http://freemind.sourceforge.net/wiki/in ... /Main_Page)
Dann mache ich "Ablaufdiagramme", wie man sie zu Zeiten der Prozeduralen Programmierung gemacht hat.
Ich finde, diese Dinger haben immer noch Gültigkeit. Allerdings hatte ich noch nie so große Projekte, dass ich z.b. auf UML zurückgreifen musste, auch wenn das Konzept gar nicht so blöd ist (wenn es um den Klassenentwurf und die Sendung von Botschaften zwischen den Klassen geht).
Leider habe ich bisher keine Software gefunden, welche das erstellen solcher Diagramme einfach gestaltet. Daher zeichne ich sie mit der Hand, wenn auch nicht so detailiert.
Sieht dann ein wenig wie das hier aus:
Ich finde schon, das derartige Notizen einem Helfen können. Auch "Pflichtenhefte", wie sie bei Auftragsarbeiten üblich sind, finde ich manchmal ganz gut. Natürlich nicht so detailiert, aber wenn ich mir selber sowas aufzwinge, ist die Wahrscheinlichkeit, an schwierigen oder langweiligen Teilen der Programme zu scheitern oder aufzuhören, geringer (Icons, Dokumentation,...)
(http://freemind.sourceforge.net/wiki/in ... /Main_Page)
Dann mache ich "Ablaufdiagramme", wie man sie zu Zeiten der Prozeduralen Programmierung gemacht hat.
Ich finde, diese Dinger haben immer noch Gültigkeit. Allerdings hatte ich noch nie so große Projekte, dass ich z.b. auf UML zurückgreifen musste, auch wenn das Konzept gar nicht so blöd ist (wenn es um den Klassenentwurf und die Sendung von Botschaften zwischen den Klassen geht).
Leider habe ich bisher keine Software gefunden, welche das erstellen solcher Diagramme einfach gestaltet. Daher zeichne ich sie mit der Hand, wenn auch nicht so detailiert.
Sieht dann ein wenig wie das hier aus:
Ich finde schon, das derartige Notizen einem Helfen können. Auch "Pflichtenhefte", wie sie bei Auftragsarbeiten üblich sind, finde ich manchmal ganz gut. Natürlich nicht so detailiert, aber wenn ich mir selber sowas aufzwinge, ist die Wahrscheinlichkeit, an schwierigen oder langweiligen Teilen der Programme zu scheitern oder aufzuhören, geringer (Icons, Dokumentation,...)
-
- Beiträge: 14
- Registriert: Sa 26. Jan 2008, 17:36
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Da bin ich ganz auf der Seite von Bembulak und mache es ganz ähnlich wie er.
Zuerst steht die Idee. Ist ja klar. Darüber brauchen wir nicht reden.
Anschliessend mach ich mir Gedanken was genau das Programm können muss und wie die einzelnen Klassen zusammenarbeiten.
Wobei zunächst ne Mindmap her muss die mir hilft mich an mein Grundkonzept zu halten.
Ein Ablaufdiagram mache ich nicht immer. Da kommts ganz auf den Funktionsumfang an.
Wenn dieser übersichtlich im Mindmap unterzubringen ist, mach ich das dort gleicht.
Die Klassen-/Modul-Verzahnung plane ich per UML.
Sobald das steht, weiss ich was ich brauche und beginne damit mein SVN-Verzeichnis zu vorzusetzen. Ich nutze SVN auch für Alleingänge da ich a) ne Projektverwaltung damit habe und b) automatisch Sicherungskopien besitze.
Steht mein SVN, geh ich an meine Klassen und bastel mir erstmal zu allen Klassen und Modulen Templates (nicht im Cpp Sinne), also leere Hüllen.
Sollte ich externe Resourcen benötigen, wie z.B. Bilder mache ich mir schnell ein paar adäquate Dummies. Denn Programmierung und das Design sind bei mir aus Berufserfahrung 2 verschiedene paar Schuhe und werden strikt getrennt gehalten.
Nochn Tipp:
Ich pflege nach aller Planung gern sowas wie Einkaufszettel.
Dabei notiere ich was ich bereits habe (Libraries, Includes...) und was ich nun noch brauche.
Es ist hilfreich die einzelnen Punkte je nach Erfüllung zu streichen.
Denn das macht das Projekt gleich sexy wenn man sieht wie es langsam immer weniger verlangt und immer mehr wird.
MfG
Wolf
Zuerst steht die Idee. Ist ja klar. Darüber brauchen wir nicht reden.
Anschliessend mach ich mir Gedanken was genau das Programm können muss und wie die einzelnen Klassen zusammenarbeiten.
Wobei zunächst ne Mindmap her muss die mir hilft mich an mein Grundkonzept zu halten.
Ein Ablaufdiagram mache ich nicht immer. Da kommts ganz auf den Funktionsumfang an.
Wenn dieser übersichtlich im Mindmap unterzubringen ist, mach ich das dort gleicht.
Die Klassen-/Modul-Verzahnung plane ich per UML.
Sobald das steht, weiss ich was ich brauche und beginne damit mein SVN-Verzeichnis zu vorzusetzen. Ich nutze SVN auch für Alleingänge da ich a) ne Projektverwaltung damit habe und b) automatisch Sicherungskopien besitze.
Steht mein SVN, geh ich an meine Klassen und bastel mir erstmal zu allen Klassen und Modulen Templates (nicht im Cpp Sinne), also leere Hüllen.
Sollte ich externe Resourcen benötigen, wie z.B. Bilder mache ich mir schnell ein paar adäquate Dummies. Denn Programmierung und das Design sind bei mir aus Berufserfahrung 2 verschiedene paar Schuhe und werden strikt getrennt gehalten.
Nochn Tipp:
Ich pflege nach aller Planung gern sowas wie Einkaufszettel.
Dabei notiere ich was ich bereits habe (Libraries, Includes...) und was ich nun noch brauche.
Es ist hilfreich die einzelnen Punkte je nach Erfüllung zu streichen.
Denn das macht das Projekt gleich sexy wenn man sieht wie es langsam immer weniger verlangt und immer mehr wird.
MfG
Wolf
-
- Beiträge: 369
- Registriert: Sa 3. Mär 2007, 16:03
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Bramsche (Emsland)
das hört sich ja alles sehr interressant an.
ich werde dann mal schauen, was ich dann alles so mache, ich habe aber auf jeden fall vor, sehr genau zu planen, da ich bereitz gemerkt ahbe, das man beim interpreter screiben sehr schnell wichtige dinge vergistt, und darunter dann am schluss die geschwindigkeit leidet, weil nicht alles perfekt inneinander greift.
ich werde dann mal schauen, was ich dann alles so mache, ich habe aber auf jeden fall vor, sehr genau zu planen, da ich bereitz gemerkt ahbe, das man beim interpreter screiben sehr schnell wichtige dinge vergistt, und darunter dann am schluss die geschwindigkeit leidet, weil nicht alles perfekt inneinander greift.