Wie unterteile ich am besten ein Projekt?
-
Ich versuche mich aktuell an einem kleinerem Testprojekt und kenne es bisher nur, alles in einem Source zu schreiben, welches mir inzwischen recht unübersichtlich wird und ich daher gerne wüsste, wie man so etwas am besten und ordentlich in mehrere Dateien unterteilt - und ob dieses Sinn macht.
So habe ich aktuell ein Hauptfenster und mehrere ToolFenster, sowie für jedes Fenster eine eigene "InitInstance()" und jeweils eine eigene WndProc() für das entsprechende Fenster.
Wäre es sinnvoll, jedes eigene (Tool)Fenster in eine eigene *.c / *.h Datei zu packen, um überblick über die GUI und den Funktionen zu haben? Sollte ich die GUI seperat in einem *.c und die benötigten Routinen (CreateControls, Events usw) in weitere Dateien unterteilen?
Leider fehlt mir zu diesem Bereich noch das notwendige Knowhow und ich würde mich sehr freuen, wenn ich hier konstruktives Feedback oder auch ggfl. hilfreiche Links zum diesem Thema und für Anfänger bekommen würde.
PS: Ich nutze für mein Projekt bisher keine Resources und behersche noch kein OOP. Sondern alles rein Procedural per WIn32 API.
-
Das ist eigentlich kein "KnowHow", das ist Softwareengineering und/oder Softwarearchitektur. Da gehört noch viel mehr dazu.
Und nebenbei, WinApi ist hauptsächlich Zeitverschwendung. Man kann sich das schon mal anschauen, um das so ein bisschen zu lernen, aber wirklich brauchen tut man das nur in Ausnahmefällen und man kann sich das eigentlich gut sparen.Zu deiner Frage... Wenn deine Controls oder Objekte oder was auch immer wiederverwendbar sind, würd ich die auf jeden Fall in eigene Dateien auslagern. Sonst tendiere ich selber meist dazu, cpp Dateien als Module zu sehen und interne Klassen und Dialoge drinzulassen und nicht auszulagern. Sagen wir, es gibt irgendein zentrales Dialog mit recht viel Logik, das irgendwas macht. Und dann muss man da drin vielleicht einen Unterdialog mit 2-3 Eingabefeldern erstellen, damit der Benutzer was auswählen oder eingeben kann. Dann macht ich diesen Unterdialog meist in derselben cpp wie den Hauptdialog. Aber ich benutz auch Qt und so ein Hilfsdialog macht dann vielleicht 20-50 Zeilen Code aus.
-
Mechanics schrieb:
Das ist eigentlich kein "KnowHow", das ist Softwareengineering und/oder Softwarearchitektur. Da gehört noch viel mehr dazu.
Und nebenbei, WinApi ist hauptsächlich Zeitverschwendung.Das widerspricht sich. Die WinApi ist schliesslich eine typische Softwarearchitektur. Wer sowas nicht kennt, weiss auch nichts von Softwarearchitekturen.
Man lernt dabei allerdings nicht, wie man seine Dateien nennen soll.
PS: Ich nutze für mein Projekt bisher [...] kein OOP
Das ist das Problem. Du kannst ruhig C mit WinApi programmieren, aber OOP ist wichtig. D.h. z.B. das Programm in Klassen einteilen. Dann nennst du die Datei einfach wie die Klasse darin heisst.