Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#38

Re: Die häufigsten Programmierirrtümer

  Alt 25. Mär 2010, 09:26
Ein häufiger Irrtum ist :
for i := 1 to StringList.Count ... Das ist eben das Versehen, zu vergessen, dass das bei 0 anfängt und dementsprechend bei count-1 Schluss ist. "Listenindex überschreitet das Maximum XY".

Aber was ist hieran auszusetzen, bzw. unschön, mal davon abgesehen, dass es sich keineswegs um einen Irrtum handelt :

Zitat von R2009:
Ist zwar kein Fehler aber was ich überhaupt nicht leiden kann ist die C Schreibweise in Pascal:

Delphi-Quellcode:
extrem unschön:
If blabla then begin
...
end

sehr viel übersichtlicher:
If blabla then
   begin
     ...
   end
Ich bevorzuge die erste Variante. Bei mir einzige Abweichung vom ansonsten IMHO guten Styleguide. Auch die zweite entspricht übrigens nicht dem offiziellen Styleguide. Grund für 1. Variante : wenn sich was verirrt, dann ein END; Oder ein begin wird vergessen. Ist so etwas passiert, dann will ich auch direkt sehen, ob das zu if, while oder sonstwas gehört. Das vom Styleguide, also das BEGIN bündig unter das zugehörige IF etc. zu schreiben läuft zwar ungefähr auf dasselbe hinaus. Notfalls geht man vom END; aus einfach nach oben, hat das entsprechende IF und sieht, ob das BEGIN am Ende der Zeile steht. Oder eben eine Zeile darunter. Aaaaber : es dürfte keine Seltenheit sein, dass eine Prozedur mit 10 IF...BEGIN usw. sagen wir mal 70 Zeilen hat. Die geht dann auf eine DIN A 4 Seite. Werden 10 BEGIN in extra Zeilen geschrieben, dann sinds schon 80 und die Seite reicht knapp eben nicht. Verschachtelungstiefe ist dann auch nicht sofort erkennbar. Für Bildschirm gilt ähnliches. Es muss unnötigerweise mehr gescrollt werden etc. Bei neueren Delphi-Versionen ist dieses Problem aber auch durch Ein/Ausklappen etwas entschärft. Betonung liegt dabei auf "etwas".

Wer nur nach Zeilen bezahlt wird, der richte sich allerdings wirklich besser 100% nach dem Styleguide.
Gruß
Hansa
  Mit Zitat antworten Zitat