Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Code-Optimierungen: allgemeine Fragen (https://www.delphipraxis.net/203712-code-optimierungen-allgemeine-fragen.html)

rokli 17. Mär 2020 08:52

AW: Code-Optimierungen: allgemeine Fragen
 
Zitat:

Zitat von Nersgatt (Beitrag 1459901)
Ich halte mich nicht strikt an irgend eine Zeilenzahl, allerdings sind meine Methoden auch eher kurz. Vor allem die Grundsatz, "eine Aufgabe, eine Methode" ist für mich wichtig. Auch wenn ich Codeteile mehrfach brauche, extrahiere ich eine Methode/Funktion, selbst wenn diese nur aus 1-2 Zeilen bestehen sollte.
Manchmal sieht man in Quellcode, dass innerhalb einer Methode bestimmt Blöcke mit Kommentaren abgetrennt werden, was irgendwie so aussieht.

// ********* Bla bla ********
Irgend ein Code

// ********* Bla blubb ********
Noch mehr Code

// ********* Schwuppdiwupp ********
Ganz viel Code

Solche Konstrukte schreien förmlich danach, refaktoriert zu werden und in einzelne Methoden überführt zu werden.

Aber bekommst Du dann nicht einen mehr oder weniger großen Overhead beim Aufruf dieser (vielen) kleinen proceduren / funktionen??

Und dann ist der Konstrukt

Delphi-Quellcode:
procedure p_Start;
begin
   p_proc1;
   p_proc2;
   if 1 =1 then
      p_proc3;
   p_pc4;
end;
gewünscht / nötig?

Nersgatt 17. Mär 2020 09:01

AW: Code-Optimierungen: allgemeine Fragen
 
Zitat:

Zitat von rokli (Beitrag 1459907)
Aber bekommst Du dann nicht einen mehr oder weniger großen Overhead beim Aufruf dieser (vielen) kleinen proceduren / funktionen??

Klar, theoretisch ergibt das etwas Aufwand, aber das ist bei heutiger Rechenleistung vernachlässigbar. Es ist viel wichtiger, gut lesbaren, einfach zu wartenden Code zu haben, als ein bisschen Stack zu sparen.

Zitat:

Und dann ist der Konstrukt

Delphi-Quellcode:
procedure p_Start;
begin
   p_proc1;
   p_proc2;
   if 1 =1 then
      p_proc3;
   p_pc4;
end;
gewünscht / nötig?
Klaro. Je nachdem, was es ist, würde ich sogar noch das 1=1 in eine Function auslagern, die mir einen boolschen Wert zurückgibt.

Uwe Raabe 17. Mär 2020 09:05

AW: Code-Optimierungen: allgemeine Fragen
 
Zitat:

Zitat von rokli (Beitrag 1459907)
Und dann ist der Konstrukt

Delphi-Quellcode:
procedure p_Start;
begin
   p_proc1;
   p_proc2;
   if 1 =1 then
      p_proc3;
   p_pc4;
end;
gewünscht / nötig?

Na ja, wenn da sowas steht wie:
Delphi-Quellcode:
procedure TReportCalculator.StartCalculation;
begin
  InitializeData;
  ValidateInput;
  if IsDataMissing then
    LookupMissingData;
  PrepareDataForCalculation;
end;
dann, ja.

Sherlock 17. Mär 2020 09:08

AW: Code-Optimierungen: allgemeine Fragen
 
Und das, liebe Liebenden, sollte die Diskussion zu ihrem Ende bringen... aber wie ich uns kenne geht es jetzt erst richtig los :mrgreen:

Sherlock

rokli 17. Mär 2020 09:29

AW: Code-Optimierungen: allgemeine Fragen
 
Zitat:

Zitat von Sherlock (Beitrag 1459910)
Und das, liebe Liebenden, sollte ...

Sherlock

dieses alte Zitat hab ich ja lange nicht mehr gehört! Vielen Dank, Scherlock!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz