Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Sichtbarkeit Prozduren in Prozeduren (https://www.delphipraxis.net/176735-sichtbarkeit-prozduren-prozeduren.html)

Bjoerk 23. Sep 2013 17:20

AW: Sichtbarkeit Prozduren in Prozeduren
 
Zitat:

Zitat von Zacherl (Beitrag 1229656)
Ist in diesem Kontext aber nicht sehr sinnvoll. Allerhöchstens als private dann, aber lokal und ggfls. mit forward ist dann eventuell doch noch schöner.

Kann sein. Bei Kapselung macht das im Allgemeinen aber so. Man hat ja auch nicht z.B. die strings einer inifile als extra variable und die inifile nur lokal?

Zacherl 23. Sep 2013 21:34

AW: Sichtbarkeit Prozduren in Prozeduren
 
Zitat:

Zitat von Bjoerk (Beitrag 1229659)
Kann sein. Bei Kapselung macht das im Allgemeinen aber so. Man hat ja auch nicht z.B. die strings einer inifile als extra variable und die inifile nur lokal?

Der Vergleich hinkt aber ein wenig, oder? :zwinker: Aber hast natürlich Recht, es kommt immer auf den Kontext an. Hier werden die 2 Funktionen ja nur lokal (innerhalb von "IchBinGanzOben") aufgerufen, deshalb kann man auf jeden Fall schonmal private sagen. Jetzt kommt aber hinzu, dass die Funktionen nur an einer einzigen Stelle (aus "IchBinGanzOben" heraus) aufgerufen werden, weshalb ich hier zu lokalen Deklaration neigen würde. Ist prinzipiell aber sicher auch einfach Geschmackssache.

nakaramia 24. Sep 2013 06:18

AW: Sichtbarkeit Prozduren in Prozeduren
 
Vielen Dank.

Furtbichler 24. Sep 2013 06:23

AW: Sichtbarkeit Prozduren in Prozeduren
 
Das riecht eher nach einer eigenen Klasse, als nach Prozeduren, in Prozeduren, die zudem noch so komplex scheinen, das sie sich gegenseitig aufrufen. Muss nicht sein, wäre aber in jeder anderen Sprache ein Fall für eine neue Klasse.

Ich persönlich finde die kleinen Lokalenprozedurhelferlein sehr praktisch, weil das das 'R' in RAD betont. Es ist eben immer noch schneller, eine komplexe Methode in ein paar lokalen Prozeduren zu kapseln und auch einigermaßen lesbar zu machen (wenn man denn das erste
Delphi-Quellcode:
Begin
der Prozedur überhaupt findet).

Aber 'schneller' ist nicht gleich 'besser'.

Zitat:

Zitat von nakaramia (Beitrag 1229644)
...in dem in einer Prozedur ein Dutzend anderer enthalten sind...

Das riecht aber nicht nur nach einer neuen Klasse, es schreit förmlich danach. Die Lesbarkeit wird ja durch die 12 lokalen Prozeduren auch nicht gerade erhöht. Und in der separaten Klasse hast Du auch nicht die Sichtbarkeitsprobleme, weil sich eh jeder kennt.

Perlsau 24. Sep 2013 06:34

AW: Sichtbarkeit Prozduren in Prozeduren
 
Zitat:

Zitat von Furtbichler (Beitrag 1229672)
Es ist eben immer noch schneller, eine komplexe Methode in ein paar lokalen Prozeduren zu kapseln und auch einigermaßen lesbar zu machen (wenn man denn das erste
Delphi-Quellcode:
Begin
der Prozedur überhaupt findet).

Das wäre wohl das kleinste Problem: einfach mit entsprechendem Kommentar versehen und du findest deine Hauptprocedure sofort:

Delphi-Quellcode:
Procedure Komplex;
// Sub 1 DoSomeThing & DoItAgain
Procedure SubProcedure1;
Begin
  DoSomeThing;
  DoItAgain;
End;

// ********** Hauptprocedure *********************************
Begin
End;

TiGü 24. Sep 2013 08:16

AW: Sichtbarkeit Prozduren in Prozeduren
 
Zitat:

Zitat von Perlsau (Beitrag 1229674)
Zitat:

Zitat von Furtbichler (Beitrag 1229672)
Es ist eben immer noch schneller, eine komplexe Methode in ein paar lokalen Prozeduren zu kapseln und auch einigermaßen lesbar zu machen (wenn man denn das erste
Delphi-Quellcode:
Begin
der Prozedur überhaupt findet).

Das wäre wohl das kleinste Problem: einfach mit entsprechendem Kommentar versehen und du findest deine Hauptprocedure sofort:

Rücke doch einfach vernünftig ein?!

Delphi-Quellcode:
procedure Komplex;

  procedure SubProcedure1;
  begin
    DoSomeThing;
    DoItAgain;
  end;

begin
end;

Perlsau 24. Sep 2013 08:32

AW: Sichtbarkeit Prozduren in Prozeduren
 
Zitat:

Zitat von TiGü (Beitrag 1229686)
Zitat:

Zitat von Perlsau (Beitrag 1229674)
Zitat:

Zitat von Furtbichler (Beitrag 1229672)
Es ist eben immer noch schneller, eine komplexe Methode in ein paar lokalen Prozeduren zu kapseln und auch einigermaßen lesbar zu machen (wenn man denn das erste
Delphi-Quellcode:
Begin
der Prozedur überhaupt findet).

Das wäre wohl das kleinste Problem: einfach mit entsprechendem Kommentar versehen und du findest deine Hauptprocedure sofort:

Rücke doch einfach vernünftig ein?!

Sag das doch dem Furtbichler – er (und nicht ich) hatte angemerkt, daß man u.U. das Begin der Hauptprocedure nicht finden könne. Ich selbst hab damit keine Probleme, weshalb es auch vollkommen unnötig ist, mir hier subtil Unvernünftigkeit zu unterstellen. In diesem speziellen Fall ist es völlig wurscht: beides ist vernünftig, da es die Lesbarkeit fördert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr.
Seite 2 von 2     12   

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