Autor |
Beitrag |
mats
Beiträge: 49
|
Verfasst: Fr 12.10.18 09:51
Hallo,
ich arbeite an einem Programm, dass sich nun langsam ausweitet, und ich bin noch nicht mal bei der Hälfte. Über zehn Units mit Fenster und einige ohne. In jeder Unit steht mindestens eine uses-Klausel. Kann man z.B. um die Sache übersichtlicher zu machen, nur eine Unit/Datei (?) einbinden, die alle anderen benötigten einbindet? Ist die Frage zu blöd? Es geht mir um möglichst hohe Übersichtlichkeit. Wie organisiert man größere Programme am besten?
Hoffe auf Ideen...
mats Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Fr 12.10.2018 um 10:46
|
|
jaenicke
Beiträge: 19286
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 12.10.18 10:59
Theoretisch geht das, ja, aber ich glaube nicht, dass es übersichtlicher ist, wenn du gar nicht mehr siehst was du da alles an Units eingebunden hast, nur weil du quasi eine Megaunit einbindest, in der alles zusammengesammelt ist.
Sinnvoller ist es nur die Units einzubinden, die du auch wirklich in der Unit brauchst und diese ordentlich zu benennen.
Für diesen Beitrag haben gedankt: mats
|
|
GuaAck
Beiträge: 378
Erhaltene Danke: 32
Windows 8.1
Delphi 10.4 Comm. Edition
|
Verfasst: Sa 20.10.18 00:23
Hallo mats,
wenn ich an dem Punkt angekommen bin wie Du, dann zeichne ich ein Diagramm der Abhängigkeiten. Jede Unit ist ein Rechteck, oben schreibe ich rein, was andere Units aufrufen, unten was die Unit von anderen Units nutzt. Man darf da nicht zu genau werden, eine Bezeichnung wie z.B. "mathematische Funktionen" kann viele einzelne Funktionen zusammenfassen. Da sieht man, wo im schlimmsten Fall ein "Kreisverkehr" droht.
Statt Units sieht man heute gerne Klassen als Einheit, das ändert aber nichts am Prinzip. Hier mal ein Link, er passt nicht gut, aber die Idee wird anschaulich dargestellt.
www.codeadventurer.de/?p=2428
Gruß
GuaAck
|
|
jaenicke
Beiträge: 19286
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 20.10.18 07:06
GuaAck hat folgendes geschrieben : | wenn ich an dem Punkt angekommen bin wie Du, dann zeichne ich ein Diagramm der Abhängigkeiten. Jede Unit ist ein Rechteck, oben schreibe ich rein, was andere Units aufrufen, unten was die Unit von anderen Units nutzt. |
Für den Zweck gibt es auch Tools, z.B. in den GExperts:
www.gexperts.org/tou...ct_dependencies.html
|
|
GuaAck
Beiträge: 378
Erhaltene Danke: 32
Windows 8.1
Delphi 10.4 Comm. Edition
|
Verfasst: So 21.10.18 00:14
Hallo jaenicke, hallo mats
sieht nach einem tollen Tool aus, sehr nützlich, wenn man ein vorhandenes Projekt analysieren will, habe mir den Link mal auf ein Lesezeichen gelegt.(Dependency-Walker für DLLs hat mir mal sehr geholfen.)
Ich denke, hier kommt es aber auf die Planung und Organisation der Units oder Klassen an. Klar, da gibt es auch großartige Tools. Bei dem Projekt von mats geht es nach seiner Darstellung um einige 10 Module. Da würde ich handschriftlich oder mit Powerpoint, Visio o.ä. eine Skizze machen, das reicht und erspart einem eine Menge Einarbeitung in ein "überleistungsfähiges" Tool. Bei guter hierarchischer Struktur geht auch EXCEL (o. ä.) sehr gut. Wenn das nicht geht, dann sind Zweifel an der Struktur angebracht. ("... angebracht", also kritisch prüfen, kann ja sinnvoll sein.)
Eine grafische Darstellung ist aber oft viel besser, Menschen können sich Bilder sehr gut merken, darauf hat uns die Evolution dressiert.
Viele Grüße
GuaAck
|
|
|