![]() |
Code-Optimierungen: allgemeine Fragen
Ich habe mal meinen Code durchgeguckt und gesehen, dass ich sehr viele Funktionen und Prozeduren habe, die doch sehr lang sind.
- wie lang sollte eine Funktion oder Prozedur maximal sein? - wie weit sollte man Code in Units aufteilen? Ich habe schon viel aufgeteilt und mittlerweile 58 Units mit thematisch aufgeteiltem Code. Was ist mit einer Funktion/Prozedur pro Unit, wenn ich nur eine für dieses Themengebiet habe? - was kann man sonst noch verbessern außer möglichst const in den Köpfen zu verwenden? |
AW: Code-Optimierungen: allgemeine Fragen
Bei Stack-Overflow würden sie das Thema schließen weil zu allgemein und zu subjektiv.
|
AW: Code-Optimierungen: allgemeine Fragen
|
AW: Code-Optimierungen: allgemeine Fragen
Also ich halte das so, dass nach Möglichkeit keine Prozedur ode Funktion mehr als ca. 20 Zeilen hat. Es gibt natürlich immer mal wieder den Fall wo sowas schlecht geht oder suboptimal ist. In dem Fall wird der Grund mit dokumentiert.
Units, die am Ende nur eine Prozedur enthalten werden in eine Funktionssammlung „common“ zusammengefasst. Manchmal auch in mehreren commons („graphiccommon“, „guicommon“, etc) Ansonsten halt gut dokumentieren, damit man (oder andere) auch nach Jahren noch nachlesen kann, welchen Blödsinn man seinerzeit verzapft hatte :-D |
AW: Code-Optimierungen: allgemeine Fragen
20 Zeilen? Das klingt nach einem Ding der Unmöglichkeit.
|
AW: Code-Optimierungen: allgemeine Fragen
Ich bevorzuge die Faustregel, dass der Code einer Methode (alles zwischen begin und end) komplett auf eine Bildschirmseite passt. Zu Turbo Pascal Zeiten waren das anfangs gerade mal 24 Zeilen, heute können das auch mal 50 oder mehr sein - kommt halt auf die Größe des Bildschirms und der Schrift an.
Bei der Zeilenlänge habe ich mich aktuell auf 130 Zeichen eingestellt. Das ist noch gut überschaubar und vermeidet so manchen störenden Umbruch. Hintergrund ist einfach, daß man den Code mit einem Blick erfassen kann ohne scrollen zu müssen. |
AW: Code-Optimierungen: allgemeine Fragen
Zitat:
Das mit der Zeilenanzahl, die so oder so lang sein soll, ist echt recht bedeutunglos. Die Funktion hat soviel Zeilen wie nötig. Wenn es Sinn macht und es geht, kann man einen Teil der Logik in mehrfach verwendbare Code-Teile aufteilen, wo es nicht geht, ist die Funktion eben auch mal 200 oder 300 Zeilen lang... |
AW: Code-Optimierungen: allgemeine Fragen
Zitat:
Welchen Sinn macht es eine Funktion zu erstellen die mir eine HDC zurückgeben soll, anschließend schleife ich dieses über 50 weitere Funktionen hindurch nur um eine maximale Anzahl von 20 Zeilen pro Funktion zu erreichen. Mit solchen Code möchte ich nicht arbeiten. Zitat:
Aber leider sind hier auch ein paar Unstimmigkeiten die Ausgewertet werden. Aber das ist ein anderes Thema. |
AW: Code-Optimierungen: allgemeine Fragen
.. wenn man in Richtung CleanCode schaut - eine Methode sollte eine Aufgabe haben.
Hat sie mehere -> Refacto Grüße Klaus |
AW: Code-Optimierungen: allgemeine Fragen
Pascal Analyzer, MMX und Delphi selbst liefern Komplexitätsmetriken, die hilfreich sind. Für mich gilt auch: Muss auf den Bildschirm passen + Zeilen werden bei 130 Zeichen umgebrochen. Wobei es manchmal schon den Spagat zu machen gibt zwischen: relevanten Code an einer Stelle haben + Methoden nicht zu lange werden zu lassen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz