Nö ist es nicht. Dein sl-Prefix verwirrt den Leser nur. Und ist eine redundante Information. In Pascal sind Variablen typisiert, man muss also den Inhaltstyp nicht im Namen codieren.Mathias hat geschrieben:Dies ist auch wichtig.Und man sollte den Datentyp angeben......ist einiges besser alsCode: Alles auswählen
var slCode:StringList;
Code: Alles auswählen
var Code:StringList;
Unsaubere Variablennamen
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Unsaubere Variablennamen
Ich mach daraus mal ein neues Thema:
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Unsaubere Variablennamen
Das war ja mein Punkt, um den es mir ging: In JavaScript ist das, soweit ich weiß Freiwillig.Nö ist es nicht. Dein sl-Prefix verwirrt den Leser nur. Und ist eine redundante Information. In Pascal sind Variablen typisiert, man muss also den Inhaltstyp nicht im Namen codieren.
Was ja in vielen anderen Sprachen auch der Fall ist. Heftig finde ich das in PY.
Dort muss man zwar keine Datentypen angeben, aber wenn du ein Vergleich machst, musst du wissen was da drin ist um es entsprechend casten zu können.
MFG
Michael Springwald
Michael Springwald
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Unsaubere Variablennamen
Ich sage immer nur StyleGuide. Entweder einen persöhnlichen oder einen der Gruppe.
Ich meine damit sowas wie den von Borland (oder wie die jetzt gerade heissen) oder
http://wiki.freepascal.org/Coding_style
http://wiki.freepascal.org/DesignGuidelines
http://wiki.freepascal.org/GUI_design_guidelines
https://www.delphi-treff.de/object-pascal/styleguide/
Man muß mit dem ja nicht einig sein, dann sollte man aber seinen eigen machen.
Andreas
BTW: Wäre schön wenn es die für FreePascal/Lazarus mal zusammengefasst gäbe
Ich meine damit sowas wie den von Borland (oder wie die jetzt gerade heissen) oder
http://wiki.freepascal.org/Coding_style
http://wiki.freepascal.org/DesignGuidelines
http://wiki.freepascal.org/GUI_design_guidelines
https://www.delphi-treff.de/object-pascal/styleguide/
Man muß mit dem ja nicht einig sein, dann sollte man aber seinen eigen machen.
Andreas
BTW: Wäre schön wenn es die für FreePascal/Lazarus mal zusammengefasst gäbe
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Unsaubere Variablennamen
Gibt es doch. Sogar auf deutsch: http://wiki.freepascal.org/DesignGuidelines/de.af0815 hat geschrieben:BTW: Wäre schön wenn es die für FreePascal/Lazarus mal zusammengefasst gäbe
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Unsaubere Variablennamen
Hast du dir die Seite echt angesehen ? Vergleiche das mal mit dem von Borland/... bzw. dem aus dem Delphiforum. Dann wirst du verstehen was ich meine.Michl hat geschrieben:Gibt es doch. Sogar auf deutsch: http://wiki.freepascal.org/DesignGuidelines/de.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Unsaubere Variablennamen

Und nun?

Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Unsaubere Variablennamen
That's lifeMichl hat geschrieben:Und nun?

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: Unsaubere Variablennamen
Braucht man eigentlich nicht extra hinzuschreiben. Bei komplexen Funktionen mit vielen Variablen und vor allem Vergleichen wird es aber deutlich angenehmer, wenn man das später liest.m.fuchs hat geschrieben:Nö ist es nicht. Dein sl-Prefix verwirrt den Leser nur. Und ist eine redundante Information. In Pascal sind Variablen typisiert, man muss also den Inhaltstyp nicht im Namen codieren.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Unsaubere Variablennamen
Wenn du komplexe Funktionen mit vielen Variablen hast, läuft eigentlich auch etwas falsch. Der Trick ist ja: kurze Funktionen (<= 20 Zeilen) mit wenig Variablen.compmgmt hat geschrieben:Bei komplexen Funktionen mit vielen Variablen und vor allem Vergleichen wird es aber deutlich angenehmer, wenn man das später liest.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Unsaubere Variablennamen
Das sehe ich auch so. Allerdings bezeichne ich Listen eigentlich immer als solche, z.B. "TriggeredItemsList". In diesem Fall wo es vermutlich eher um einen umgebrochenen Text ging, würde ich ihn "CodeLines" nennen. Das verdeutlicht schon stark das zugrundeliegende Format, was den Code einfach besser lesbar macht, ohne alle Typen von Listen zu kennen/zu unterscheiden.m.fuchs hat geschrieben:Dein sl-Prefix verwirrt den Leser nur.
Ansonsten bei Klassennamen natürlich immer ein vorangestelltes "T";
bei Objektvariablen zumindest dann ein vorangestelltes "f", wenn es ein zugehöriges Property gibt;
bei Übergabeparametern ein vorangestelltes "A", wenn die Bezeichnung recht unspeziefisch ist (AValue);
bei unspeziefischen temporären Variablen ein vorangestelltes "t" oder "tmp"; Wenn es eine temporäre Version einer nicht-temporären Variable ist, dann verwende ich oft eine Abkürzung des Namens, z:B. CodeLns für eine temporäre Kopie von CodeLines
Das sind jedoch meine eigenen Präferenzen~
Re: Unsaubere Variablennamen
Sehe ich genauso. Abgesehen davon, dass unsauberen Code viel schlimmer ist, als eine unsauber benannte Variable. Ich für meinen Teil setzte zum Beispiel gerne für Zahlen z1, z2 usw. ein und bei Strings s1, s2 usw. was viele auch schon als unsauber betrachten. Jedoch dokumentiere ich über Kommentare was welche Variable macht und bei Code, den auch andere Lesen müssen benenne ich meine Variablen sinnvoller, sodass jeder gleich verstehen kann, welche Funktion die Variable hat.m.fuchs hat geschrieben:Wenn du komplexe Funktionen mit vielen Variablen hast, läuft eigentlich auch etwas falsch. Der Trick ist ja: kurze Funktionen (<= 20 Zeilen) mit wenig Variablen.compmgmt hat geschrieben:Bei komplexen Funktionen mit vielen Variablen und vor allem Vergleichen wird es aber deutlich angenehmer, wenn man das später liest.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unsaubere Variablennamen
Was ich noch gerne der Übersicht zu liebe mache, Variablen-Gruppen welche zusammengehören in einen Record verbauen.
Und die meisten Sachen löse ich mit Klassen.
Und die meisten Sachen löse ich mit Klassen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Unsaubere Variablennamen
Nein, das sind zwei Seiten einer Medaille.itjump hat geschrieben:Abgesehen davon, dass unsauberen Code viel schlimmer ist, als eine unsauber benannte Variable.
Ich habe sicher auch schon viel verbrochen. Ein "i" (Integer) nehme ich auch gern als Zählervariable, ein "s", wenn nur ein String in einer Methode bearbeitet wird, geht sicher auch, dann hört das für mich seit einiger Zeit aber auch schon auf. Mit den Codetools (wenn man sich einmal an die paar Tastenkombinationen gewöhnt hat) hat man auch keinen wirklichen Geschwindigkeitsverlust beim Coden. Also ich stehe auf dieser Fetisch eines gut handformatierten Codes, mit gut verständlichen Bezeichnern und Methoden möglichst immer ein Stückchen kleiner, als das Editorfenster, sodaß ich diese mit einem mal überblicken kann und nicht scrollen muss.itjump hat geschrieben:Ich für meinen Teil setzte zum Beispiel gerne für Zahlen z1, z2 usw. ein und bei Strings s1, s2 usw. was viele auch schon als unsauber betrachten. Jedoch dokumentiere ich über Kommentare was welche Variable macht
Just my two cents.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;