AGB  ·  Datenschutz  ·  Impressum  







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

For-Schleife :Stilfrage

Ein Thema von Ego · begonnen am 4. Nov 2012 · letzter Beitrag vom 6. Nov 2012
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 06:49
Einerseits möchte ich dir Recht geben, dann aber... Guck dir mal die Unit ComCtrls und dort z. B. TCustomRichEdit.Print . Zig 1440 Zahlen. Ich brauchte Stunden bis ich rausfand was sie zu bedeuten haben. Ok, Stunden vielleicht nicht, aber es hat schon paar Minuten gedauert.
Damit ist dann wohl bewiesen, das sich die VCL-Programmierer einen Dreck um sauberen Code scheren.

[QUOTE=Popov;1189726]Das mit I ist so eine Sache, denn for to akzeptiert meines Wissens sowieso nur lokale Variablen, somit hält sich die Unübersichtlichkeit in Grenzen. Es ist nur ein Schleifenindex, mehr nicht. Bei komplexen Verschachteltelungen lasse ich mit mir reden, aber guck dir mal den Quelltext der Units an. Lauter Is.
Wenn Du Clean Code konsequent durchziehst, würde eine Methode (der Name sagt ja alles) eh nur aus einer Schleife bestehen. Ich finde, i und j sind allgemein übliche und verständliche Zähl/Laufvariablen und können auch in Programmen, die in 10 Jahren noch verstanden werden sollen, verwendet werden. Wobei i und j ziemlich fies -weil mit bestimmten Fonts schwer zu unterscheiden- sind.

Der Index (daher das I) einer Liste hat ja eigentlich keinerlei Semantik (außer der des Index'). Oder nimmst du etwa Namen wie 'ArrayIndex' und verwechselst 'lange Bezeichnernamen' mit 'lesbarer Code'?

Du hast bestimmt ein Beispiel für einen guten Namen für eine Schleifenvariable...

Geändert von Furtbichler ( 5. Nov 2012 um 07:02 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 07:42
Meinst du mich? Eigentlich stehe ich auf i, j dagegen nutze ich fast nie. k, dann m, aber kein n.

Wobei gerade letzte Woche habe ich etwas konstruiert das aus zum Teil drei Schleifen bestand. Das ist an für sich nicht das Problem, aber bei i, k und m verlor ich dann doch etwas den Überblick, da der Code etwas komplex war. Nach einer handvoll Fehler durch falsche Zuweisung entschloss ich mich richtige Namen zu benutzen. Nachdem ich fertig war und alles optimiert habe, entwor sich das Chaos und ich hab die Klassiker wieder eingesetzt.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
553 Beiträge
 
Delphi 12 Athens
 
#3

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 07:55
Hi,

du hast also i,k,j durch lesbare Namen ersetzt, dann die Fehler bereinigt und zum Schluß die neuen Namen wieder durch i,j,k ersetzt? Wenn ja: Warum? Das würde ich nämlich nicht verstehen.


Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 07:59
Weil das nachher auffällt und er dann erklären müsste, dass er das am Anfang nicht geblickt hat mit den i, k, n Variablen.

So hält er sich lästige Diskussionen vom Hals
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 08:16
Nicht i,k,j, sondern i,k,m.

Die drei Gründe wieso ich sie durch Namen ersetzte waren: währen der Entwicklung, als ich noch nicht wusste wie alles aussehen soll, war der Code etwas umfangreicher. Der zweite Grund war, dass sich alles etwas verschachtelte. Es ist ja nicht so, dass ich den Überblick verloren habe, aber um Flüchtigkeitsfehler zu vermeiden waren schwer verwechselbare Namen sinnvoller. Als alles stand und funktionierte, wurde es optimiert und übersichtlicher (der einst langer Code schrumpfte auf paar Zeilen). Die Namen hatten jetzt keinen Sinn und machten ihrerseits dem Code durch die Namen unübersichtlich. Was übrig blieb war auch mit i, k und m leicht verständlich.

Und drittens, und das soll bitte nicht als der geringste Grund angesehen werden, weil ich bösartig bin. Ich verstehe es auch mit i, k und m, aber wenn die Firma meint mich feuern zu müssen, was kümmert mich ob der Nachfolger damit nicht klar kommt. Ich hoffe sogar, dass er damit nicht klar kommt, Stunden, Tage, Monate damit verbringt die Funktion zu entwirren. Die hohen Kosten belasten die Firma dann so sehr, dass sie Konkurs geht. Selber Schuld wenn sie mich feuern
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 08:21
Wenn die das bisschen Refactoring nicht hinkriegen, wäre eine Firmenpleite ja nur eine "natürliche Auslese"
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

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

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 09:06
Für Schleifenvariablen verwende ich auch nur reine Buchstaben. Statt i,k,m verwende ich a,b,c. Aber das ist ja nur Kosmetik. Diese drei Buchstaben sind bei mir "immer" Schleifenvariablen. wobei a immer die äussere Schleifenvariable ist, danach b, danach c. Wenn zwei- oder dreidimensionalen Arrays angesprochen werden verwende ich x,y,z. Wenn mehr als drei Schleifen verschachtelt sind, dann verwende ich längere Bezeichner. Kommt aber selten vor. Hat sich bei mir in den letzten 20 Jahren so entwickelt und bin gut damit gefahren.

Da ja meist die Schleifenvaiable als Parameter für irgendwelche Proceduren in der Schleife verwendet wird, erhöht sich "für mich" die Lesbarkeit mit Einzelbuchstaben.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#8

AW: For-Schleife :Stilfrage

  Alt 5. Nov 2012, 10:15
Ich habe mal von einem CleanCoder gehört der nach einem Refactoring nicht alles wieder verwischt hat. Nein, er hat sogar für seine Objekte Container implementiert, welche dann
Zitat:
function GetCurrent: String; und function MoveNext: Boolean;
konnten. Es gab in seiner Prosa keine < 3 buchstabigen Bezeichner; und als er dann gestorben war lebte sein Programm in der Firma noch weiter. Tat es dann aber wegen dem Wartungsmenschen nach 2 Jahren nicht mehr. Traurige Geschichte.
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:03 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