Das Ergebnis multipliziert man mit
SecsPerDay
und ist fertig
Stimmt, stell Dir vor, die Software wird auf dem Titan ausgeführt, da hat der Tag einen anderen Wert für
SecsPerDay
.
Stell dir vor, jemand anderes soll deinen Code lesen und verstehen
Delphi-Quellcode:
function SecondsFromTime( ATime: TTime ) : Integer;
begin
Result := ATime * 86400;
end;
function SecondsFromTimeStr( const ATimeStr: string ):Integer;
begin
Result := SecondsFromTime( StrToTime( ATimeStr ) );
end;
oder
Delphi-Quellcode:
function SecondsFromTime( ATime: TTime ) : Integer;
begin
Result := ATime * SecsPerDay;
end;
function SecondsFromTimeStr( const ATimeStr: string ):Integer;
begin
Result := SecondsFromTime( StrToTime( ATimeStr ) );
end;
Wo hat der unbedarfte Leser wohl schneller die Funktionsweise erfasst?
Ja, man kann natürlich für die Lesbarkeit einen Kommentar schreiben
Delphi-Quellcode:
function SecondsFromTime( ATime: TTime ) : Integer;
begin
Result := ATime * { Sekunden pro Tag } 86400;
end;
wir vergleichen nochmal mit
Delphi-Quellcode:
function SecondsFromTime( ATime: TTime ) : Integer;
begin
Result := ATime * SecsPerDay;
end;
Huch,
documented by code
Und wo können sich beim Tippen wohl eher Fehler einschleichen?
Darum keine
magic values im Code
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)