Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Procedurbezeichnung (https://www.delphipraxis.net/163096-procedurbezeichnung.html)

bernau 15. Sep 2011 16:26

AW: Procedurbezeichnung
 
Zitat:

Zitat von p80286 (Beitrag 1124646)
Delphi-Quellcode:
  Arbeitsverzeichnis:=ExtractFileDir(WorkingFileName);
  Vergleichsverzeichnis:=ExtractFileDir(EineAndereDatei);
  result:=comparetext(Arbeitsverzeichnis,Vergleichsverzeichnis)=0;
Delphi-Quellcode:
  CurrentDirectory:=ExtractFileDir(WorkingFileName);
  DefinedDirectory:=ExtractFileDir(EineAndereDatei);
  result:=comparetext(CurrentDirectory,DefinedDirectory)=0;
No soo schlimm ist das auch nicht.

Gruß
K-H

Es ging darum, daß r2c2 einen "Dreizeiler" einem "Einzeiler" vorzieht.

Wenn schon dann:

Delphi-Quellcode:
  CurrentDirectory:=ExtractFileDir(WorkingFileName);
  DefinedDirectory:=ExtractFileDir(EineAndereDatei);
  result:=comparetext(CurrentDirectory,DefinedDirectory)=0;
Delphi-Quellcode:

   result:=comparetext(WorkingFileDir,EineAndereDateiDir)=0;


Ich finde die zweite Variante, ohne die vorherige zuweisung auf Variablen, besser.

r2c2 15. Sep 2011 17:06

AW: Procedurbezeichnung
 
Zitat:

Zitat von bernau (Beitrag 1124648)
[
Es ging darum, daß r2c2 einen "Dreizeiler" einem "Einzeiler" vorzieht.

Das ist das, was ich auf den Delphi-Tagen versucht hab zu erklären: einfach <> kurz.

Wenn es in meine Code das Prinzip gibt, dass immer und überall der vollständige Pfad verwendet wird, brauche ich nicht zu überlegen, welche der drei möglichen Funktionen ich nun verwenden muss (und werde da auch keine unnötigen Fehler machen). Ich weiß, dass ich immer nur eine Funktion hab und das Ergebnis ist in einem bekannten Format. Möchte ich nun ein anderes Format oder nur einen teil der Information haben, hab ich Funktionen, die das für mich erledigen.

Mein Code wird dadurch länger und langweiliger, ja. Aber ich schreibe Code nur einmal, lese ihn aber viel viel öfter. Somit muss Code leicht zu lesen sein. Ob er irgendwann mal ein paar Sekunden beim Schreiben eingespart hat, ist irrelevant.

Entwickler sträuben sich tendenziell dagegen, "langweiligen" Code zu schreiben Ich will mich da auch gar nicht mal ausnehmen. Auch ich hab die Tendenz. Aber langweiliger Code hilft dabei, Fehler zu vermeiden. Ich mein, das hier ist ein triviales Beispiel, aber, wenn man über den gesamten Code hinweg so arbeitet, vermeidet man tendenziell Fehler, weil man weniger übersieht.

Man darf da gerne anderer Meinung sein, aber ich denke, ich bin mit dieser Position nicht ganz alleine. ;-)


mfg

Christian

bernau 16. Sep 2011 09:06

AW: Procedurbezeichnung
 
Sagen wir mal so, der Einzeiler von meinem Beispiel ist einfacher zu schreiben UND einfacher zu lesen, da am Variablennamen erkenntlich ist, ob es sich um einen Dateinamen, Pfad oder beides handelt.

Aber deine Ansicht ist mir nicht ganz fremd. Ich verwende sehr oft Variablen um Daten zwischenzuspeichern, weil es einfacher zu debuggen ist.
Anstatt in einer Function fünf mal MeineStringlist[aIndex] zu verwenden, weise ich diesen Wert einer Variablen zu und arbeite damit weiter.

Langweiligen Code schreibe ich auch öffters. Ich nehme sehr gerne zusätzliche begin..end um einen Abschnitt in einer Procedure zu kennzeichnen. Ich weis, eine Procedure sollte man so kurz wie möglich halten, manchmal habe ich aber schon über 40 Zeilen in einer Procedure. Dann wirkt das aufteilen mit begin..end ware Wunder.

himitsu 16. Sep 2011 09:13

AW: Procedurbezeichnung
 
comparetext ... Delphi-Referenz durchsuchenAnsiSameText ist da wohl eindeutiger
(es gibt auch Delphi-Referenz durchsuchenSameText, aber das beachtet nicht vollständig die Groß-/Kleinschreibung)

bernau 16. Sep 2011 09:31

AW: Procedurbezeichnung
 
Zitat:

Zitat von himitsu (Beitrag 1124800)
comparetext ... Delphi-Referenz durchsuchenAnsiSameText ist da wohl eindeutiger

Mag sein. Aber: Ich programmiere seit 1995 mit Delphi. Davor mit TurboPascal. Da hat man so seine "bevorzugten" Functionen, weil man die "immer" verwendet hat.

Ja ja. Ich sollte mir öffters mal die RTL anschauen und vieleicht hätte ich die RTL-Session auf den Delphitagen nicht vorher verlassen sollen. Dennoch tue ich mich schwer, jahre lang verwendete Functionen durch "bessere" zu ersetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 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