AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Die "richtige" Sourcecode Formatierung?

Ein Thema von Mavarik · begonnen am 8. Aug 2016 · letzter Beitrag vom 13. Aug 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#1

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 12:05
Vermutlich kommt das daher, um unsaubere Kapselung und reichlich globale Variablen weiter führen zu können
Das bezweifle ich. Ich habe ja das AOwner als Beispiel genannt. Da gibt es in der Klasse gleichzeitig noch Owner als Property. Und wenn man sich mal anschaut wo das noch auftauchte in älteren Quelltexten findest du noch weitere solche Fälle.

Einen Fall wie den von dir genannten sehe ich hingegen nirgends. Worauf beziehst du dich denn da? Im RTL oder VCL Quelltext meine ich.
Oh, ich habe das durchaus historisch gemeint. Nicht bezogen auf aktuell in der freien Wildbahn zu findende Quellen. Welchen Grund mag es sonst geben für einen Präfix, der ein Argument kennzeichnet? Heutzutage: keinen, außer "ham wir schon immer so gemacht". Vorausgesetzt natürlich, man hat ansonsten saubern Code (kurze Parameterlisten, kurze Methoden etc.)


Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.973 Beiträge
 
Delphi 12 Athens
 
#2

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 13:08
Welchen Grund mag es sonst geben für einen Präfix, der ein Argument kennzeichnet? Heutzutage: keinen, außer "ham wir schon immer so gemacht". Vorausgesetzt natürlich, man hat ansonsten saubern Code (kurze Parameterlisten, kurze Methoden etc.)
Wie sieht denn deine Alternative für mein Beispiel aus?

// EDIT:
Wenn man nur Code für den deutschen Sprachraum schreibt mögen deutsche Bezeichner funktionieren.
Das bezweifle ich auch nicht, aber da die delphieigenen Bezeichner zwangsläufig englisch sind, läuft es immer auf ein Mischmasch aus Deutsch und Englisch hinaus...
Das macht den Code nicht übersichtlicher...

Beispiel aus freier Wildbahn:
Delphi-Quellcode:
if SchnellstartHaken.Checked or ZwangsstartAktiviert then
begin
  StartenKnopf.Click;
  Exit;
end;
Sebastian Jänicke
AppCentral

Geändert von jaenicke (12. Aug 2016 um 13:17 Uhr)
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 13:21
Wie sieht denn deine Alternative für mein Beispiel aus?
Eventuell so (nicht getestet):

Delphi-Quellcode:
type
  TExample = class
  private
    FTest: Integer;
  public
    constructor Create(const FTest: Integer);
    property Test: Integer read FTest write FTest;
  end;

constructor TTest.Create(const FTest: Integer);
begin
  Self.FTest := FTest;
end;
Selbst wenn das funktioniert wäre das aber Programmier-Selbstmord, da sind die Fehler vorprogrammiert.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 13:50
Dann doch lieber "neutral":

Delphi-Quellcode:
type
  TExample = class
  private
    FTest: Integer;
  public
    constructor Create(const (A)Value : Integer);
    property Test: Integer read FTest write FTest;
  end;

constructor TTest.Create(const (A)Value: Integer);
begin
  FTest := (A)Value;
end;
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.973 Beiträge
 
Delphi 12 Athens
 
#5

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 15:02
Dann doch lieber "neutral":

Delphi-Quellcode:
type
  TExample = class
  private
    FTest: Integer;
  public
    constructor Create(const (A)Value : Integer);
    property Test: Integer read FTest write FTest;
  end;

constructor TTest.Create(const (A)Value: Integer);
begin
  FTest := (A)Value;
end;
Dann musst du bei einem solchen Code aber jedesmal nachschauen was der Parameter bedeutet. Das ist finde ich die schlimmste Variante...
Vor allem, wenn es mehr als einen Parameter gibt...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 15:24
Bei mir würde das so aussehen (dass Parameter, Variablen und Felder mit nem kleinen Buchstaben anfangen, ist meine persönliche Note)
Delphi-Quellcode:
type
  TExample = class
  private
    fTest: Integer;
  public
    constructor Create(const test: Integer);
    property Test: Integer read fTest write fTest;
  end;

constructor TTest.Create(const test: Integer);
begin
  inherited Create;
  fTest := test;
end;
Nun mag jemand sagen, oje, da gibt es einen poteziellen Konflikt zwischen dem ctor parameter und der Eigenschaft. Nö, der parameter wird hier immer bevorzugt.
Natürlich müsste man innerhalb dieser Methode nun Self.Test schreiben, um an die Eigenschaft zu kommen, damit kann ich aber leben - da eher die Ausnahme.

Ich erspare mir nun mal ein Essay, warum automatic properties mit unterschiedlichen visibilities für getter und setter in C# oder anderen Sprachen so viel besser sind
als der ganze Extraklump mit explizit zu definierenden Feldern und der nahezu Unmöglichkeit, unterschiedliche Sichtbarkeiten für read und write anzugeben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 15:33
Dann musst du bei einem solchen Code aber jedesmal nachschauen was der Parameter bedeutet.
ok, bei normalen Procedure würde ich dir recht geben...

Bei Setter brauche ich das nicht, da es ja der Setter Wert ist..

Und i.d.R. steht im Setter sowieso..

Delphi-Quellcode:
begin
  FWhatever := AValue; // Value "wird" schon das richtige sein...
  ... // Code, warum ich überhaupt einen Setter brauche...
end;
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.307 Beiträge
 
Delphi 12 Athens
 
#8

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 21:53
Dann doch lieber "neutral":

Delphi-Quellcode:
type
  TExample = class
  private
    FTest: Integer;
  public
    constructor Create(const (A)Value : Integer);
    property Test: Integer read FTest write FTest;
  end;

constructor TTest.Create(const (A)Value: Integer);
begin
  FTest := (A)Value;
end;
(a)Value wird bei mir nur für Setter von Properties verwendet. Dort weis ich was Value für eine Bedeutung hat.

Ich würde an dieser Stelle im Create den Bezeichner "aTest" oder "aTestInit"verwenden. Ist ja eine Vorbelegung für fTest.

Das Property Test würde ich wie in dem Beispiel genau so deklarieren. Ohne Setter. Man sieht sofort, daß nur fTest behandelt wird und muss nicht schauen, ob im Setter noch weiteres ausgeführt wird.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#9

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 16:26
Zitat von bra;1344784[DELPHI:
type
TExample = class
private
FTest: Integer;
public
constructor Create(const FTest: Integer);
property Test: Integer read FTest write FTest;
end;

constructor TTest.Create(const FTest: Integer);
begin
Self.FTest := FTest;
end; [/DELPHI]

Selbst wenn das funktioniert wäre das aber Programmier-Selbstmord, da sind die Fehler vorprogrammiert.
Nichts für ungut, aber das entspricht in C# den (einigermaßen strikt festgelegten) Codierrichtlinien:

Code:
public ClassName(int bla, string blub) // Konstruktor von ClassName
{
    this.bla = bla;
    this.blub = blub;
}
Ich habe dabei noch nie einen Fehler, der auf dieses Vorgehen zurückgeht, erlebt. Der Compiler mault allerdings auch, wenn man das "this." vergisst. Das kann ich mangels Delphi nicht mehr ausprobieren.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Die "richtige" Sourcecode Formatierung?

  Alt 12. Aug 2016, 13:52
Delphi-Quellcode:
if SchnellstartHaken.Checked or ZwangsstartAktiviert then
begin
  StartenKnopf.Click;
  Exit;
end;
Sahne, das erinnert doch an die Siemensianische "Warzentaste". Allerdings weiß der nicht Eingeweihte sofort, welche Teile des Codes vom Programmierer stammen. Ob ein Franzose damit gut leben kann, steht auf einem anderen Blatt.
Mir ist letztlich eine "Diffusion List" (ohne jeden erhellenden Kontext) über den Weg gelaufen. Nach etwas suchen bin ich dann auf eine "Mailing List" gestoßen, was wiederum ganz gut zu den vorhandenen Daten passte.
Zitat:
Une liste de diffusion ou liste de distribution (mailing list en anglais, abrégée en ML)
Also Englisch um jeden Preis ist auch nicht der Weisheit letzter Schluß.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 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-2025 by Thomas Breitkreuz