Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#35

Re: Die häufigsten Programmierirrtümer

  Alt 25. Mär 2010, 07:59
Zitat von alzaimar:
Zitat von R2009:
extrem unschön:
...
sehr viel übersichtlicher:
der 'extrem unschöne' Code wird von Programmierern, die viel Code lesen, bevorzugt. Das "Begin" auf einer separaten Zeile hat keine eigene Aussage: Das hier bedingter Code folgt, ist durch die Einrückung (horizontale Formatierung) schon hinreichend dokumentiert.
Was ich mir aber abgewöhnt habe ist folgendes:
Delphi-Quellcode:
if ... then
   ...; // eine Zeile
stattdessen:
Delphi-Quellcode:
if ... then
begin
  ...; // eine Zeile
end;
Ich fasse auch Rümpfe in begin und end ein, auch wenn sie nur eine Zeile umfassen. Einfach aus dem Grund, weil der Rumpf eventuell später erweitert wird und man dann vergisst das begin und end zu ergänzen. Bei dem daraus resultierenden Fehlverhalten kann man sich manchmal dumm und dämlich suchen. So was vermeide ich somit von vorne herein.

Das mache ich übrigens in allen Programmiersprachen so, sei es in Delphi oder PHP. Ich habe sogar schon Code vom Kollegen dahingehend angepasst.

Was Kommentare angeht: Sie generell als böse zu bezeichnen ist auch nicht ganz richtig, wie eigentlich fast jede Pauschlisierung. Aber wenn man etwas kommentiert, dann höchstens das Warum. Das Wie sehe ich am Code. Denn jemand der den Code liest wird sich meist fragen: Warum macht der das? Wenn dann da steht "Workaround wegen Bug XYZ", dann weiß derjenige Bescheid und ändert die Stelle nicht, weil er denkt es wäre überflüssig oder so und baut somit wieder einen schon beseitigten Fehler ein.
Auch habe ich mir angewöhnt, wenn ich fremden Code ändere meine Änderungen zu markieren mit:
Delphi-Quellcode:
// [mp:start]
...;
...;
...;
// [mp:end]
(mp ist mein Kürzel in der Firma.) Dann sehe ich sofort welcher Code von mir ist und ich kann ihn im Fall der Fälle über die Such-Funktion auch schneller wiederfinden. Leider habe ich meinen Kollegen noch nicht dazu bringen können dies auch zu tun. Wenn ich jetzt einen Fehler beheben muss, weiß ich teilweise nicht, ob der Fehler vom Framework stammt oder in vom Kollegen nachträglich hinzugefügten Code. Ich habe schon Stunden mit der Fehlersuche verbracht, wo es dann nachher hieß: "Äh, Moment, der Code ist von mir. Ich weiß, was da nicht stimmt."
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat