...da ist jeder Kommentar unötig.
In dem aktuellen Projekt gefunden:
Delphi-Quellcode:
if (not Data.FDFix.Active) then
begin
Data.FDFix.Active := False;
end;
(Namen zum Schutz des Verursachers geändert
)
Das sollte man aber Kommentieren!!!
Schau die das Beispiel mal an. Ok ist etwas konstruiert, aber so was in der Art habe ich leider schon gesehen.
Nur wenn Active False ist und nochmal False gesetzt wird, passiert was. Du entfernst bei einem Refactoring diese Zeilen und in der Produktion beim Kunden knallts.
Aus diesem Grund sollte so was kommentiert werden !!!.
Delphi-Quellcode:
program Data;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
type
TFDFix =
class
private
FActive: Boolean;
procedure SetActive(
const Value: Boolean);
published
property Active: Boolean
read FActive
write SetActive;
end;
var
FDFix: TFDFix;
{ FDFix }
procedure TFDFix.SetActive(
const Value: Boolean);
begin
if Value = FActive
then
WriteLn('
Erwarte das Unerwartete ;)')
// In dieser Zeile könnte z.B. etwas wichtiges gemacht werden, was einen Fehler verhindert.
else
FActive := Value;
end;
begin
try
WriteLn('
Start');
FDFix := TFDFix.Create;
try
WriteLn('
1: Data.FDFix.Active := True;');
Data.FDFix.Active := True;
// hier passiert nix
if (
not Data.FDFix.Active)
then
begin
WriteLn('
2: Data.FDFix.Active := False;');
Data.FDFix.Active := False;
// das wird ja nie aufgerufen
end;
WriteLn('
3: Data.FDFix.Active := False;');
Data.FDFix.Active := False;
// hier passiert nix
if (
not Data.FDFix.Active)
then
begin
WriteLn('
4: Data.FDFix.Active := False;');
Data.FDFix.Active := False;
// ups
end;
finally
WriteLn('
Ende');
FDFix.Free;
end;
ReadLn;
except
on E:
Exception do
WriteLn(E.ClassName, '
: ', E.
Message);
end;
end.
Ach ja das Programm bringt folgende Ausgabe:
Code:
Start
1: Data.FDFix.Active := True;
3: Data.FDFix.Active := False;
4: Data.FDFix.Active := False;
Erwarte das Unerwartete ;)
Ende