Autor Beitrag
mats
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: 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 user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Fr 12.10.2018 um 10:46
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18718
Erhaltene Danke: 1624

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 306
Erhaltene Danke: 29

Windows 8.1
Delphi 7 Pers.
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18718
Erhaltene Danke: 1624

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 20.10.18 07:06 
user profile iconGuaAck hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 306
Erhaltene Danke: 29

Windows 8.1
Delphi 7 Pers.
BeitragVerfasst: 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