Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Welche schreibweise ist besser , mit oder ohne Variablen (https://www.delphipraxis.net/24520-welche-schreibweise-ist-besser-mit-oder-ohne-variablen.html)

rocksoft 22. Jun 2004 14:47


Welche schreibweise ist besser , mit oder ohne Variablen
 
Hallo,

ich habe hier ein Bsp, a und b, mich würde interessieren ob b) nachteile bringt gegenüber von a)
oder ist es Jacke wie Hose, nur das a) schlecht lesbar ist?

a)
Code:
procedure Tform.BtnOkClick(Sender: TObject);
begin
functionmachdies(table1.FieldValues['Text1'],table1.FieldValues['Text2'],table1.FieldValues['Text2'])
end;
b)
Code:
procedure Tform.BtnOkClick(Sender: TObject);
var
a,b,c:Sting;
begin
a:=table1.FieldValues['Text1'];
b:=table1.FieldValues['Text2'];
c:=table1.FieldValues['Text3'];
functionmachdies(a,b,c)
end;
Danke für die Antwort

@Sharky :Done

Sharky 22. Jun 2004 14:49

Re: Was ist besser?
 
Hai rocksoft,

gebe deinem Thread doch bitte einen etwas aussagekräftigen Titel. Bei der Gelegenheit kannst Du auch gleich die Delphi-Tags verwenden um deinen Quellcode zu formatieren. Danke :-D

MrKnogge 22. Jun 2004 14:50

Re: Was ist besser?
 
theoretisch isses Jacke wie Hose, ich weis nur nicht, in wie weit der DelphiCompiler dies optimiert, variante b ist bestimmt, und vor allem für Anfänger, übersichtlicher gegenüber a.

Aber a müsste schneller/effektiver sein. (wenn der Compiler es nicht optimiert)

rocksoft 23. Jun 2004 00:40

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
Hallo MrKnogge,

danke für deine meinung, wenn es dann Jacke wie Hose ist, werde ich dann eher die version B benutzen, da nach mehreren table1.FieldValues.. ist es nicht mehr schön zu lesen, ich habe aber noch eine frage, was pasiert dann mit den Variablen? Die sind dann noch im speicher? wenn ja verbrauchen die ja resourcen, oder werden die dann frei gegeben?

nieurig 23. Jun 2004 06:49

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
Da die Variablen lokal definiert sind werden sie verworfen sobald die Methode beendet ist also kein Ressourcenverbrauch aber RessourcenGEbrauch. Wenn das Programm sowieso schon viel Speicher benötigt, würde dies noch ein klein wenig mehr sein während die Methode abgearbeitet wird. Meist ist dies aber egal.

Niels

Pseudemys Nelsoni 23. Jun 2004 07:13

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
wenn der text sowieso von anfang an klar ist (siehe beispiel a) dann solltest du bei beispiel B lieber Konstanten statt Variablen benutzen...

nailor 23. Jun 2004 16:06

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
aber ich glaube, dass der compiler da eh nochmal dran rumoptimiert. müsste man mal benchmarken, indem man es 100.000 aufruft.

MrKnogge 23. Jun 2004 16:10

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
Zitat:

Zitat von nailor
aber ich glaube, dass der compiler da eh nochmal dran rumoptimiert.

Genau das würd mich mal interessieren, mich würde fast wundern wenn er dies nicht tun würde, er wandelt soweit möglich j auch beispielsweise "for to"-Schleifen in "for downto"-Schleifn um.

Chewie 23. Jun 2004 16:17

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
Zitat:

Zitat von nailor
aber ich glaube, dass der compiler da eh nochmal dran rumoptimiert. müsste man mal benchmarken, indem man es 100.000 aufruft.

Nun ja, in dem Fall wäre ein Blick in den erzeugten Assembler-Code sinnvoller ;)
Es dürfte, wenn überhaupt, nicht viel ausmachen. Es muss zunächst eine Funktion aufgerufen werden, die etwas zurückliefert, und das 3 mal. Erstens dürfte das Bereitstellen der Übergabeparameter für die eigene Funktion im Vergleich zur Funktionsausführung (FieldValues) kaum Zeit in Anspruch nehmen, zweitens gibt es sowieso nicht genügend freie Register, um alles darin zu speichern und drittens wird für den String sowieso nur ein Zeiger übergeben. Die Funktion liest dann die Daten über diesen Zeiger aus dem Speicher.

negaH 23. Jun 2004 16:21

Re: Welche schreibweise ist besser , mit oder ohne Variablen
 
Besser ist es die Feld Komponenten zur Laufzeit zur Table anzulegen. Die bringt mehr Performance, ist stimmiger zum OOP Konzept, Tpysicherer und für Anfäger besser zu verstehen. Der Source sähe dann so aus:

Delphi-Quellcode:
begin
  MachDies(Table1Text1.AsString, Table1Text2.AsString, Table1Text2.AsString);
end;
Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Seite 1 von 2  1 2      

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