So würde ich es machen...
Mavarik
Schrecklich
Ich würde das hier befürworten:
Delphi-Quellcode:
if .. then
begin
..
end
else if .. then
begin
..
end
else
begin
..
end;
Sowas macht man ja eigentlich nur, wenn man eigentlich ein ein case-Konstrukt bräuchte, das aber nicht zugelassen ist. (Ausdruck zur Compilezeit variabel oder so...)
Insofern finde ich es sinnvoll, das auch optisch analog zu gestalten. Logisch ist das auch nur eine "Unterebene", da nur einer der Subblöcke ausgeführt wird.
Wenn man da jeden Subblock weiter einrückt, hat man ja schnell ewig lange Zeilen.
Zur Praxisrelevanz ein (delphisiertes) Codezitat:
Delphi-Quellcode:
startTime, endTime: string;
if (SpecificRegex.IsMatch(Event.Time)) then
begin
match := SpecificRegex.Match(Event.Time);
startTime := match[0];
endTime := match[1];
end
else if (RegexA.IsMatch(Event.Time)) then
begin
startTime := '8:00';
endTime := '10:00';
end
else if (RegexB.IsMatch(Event.Time)) then
begin
startTime := '9:00';
endTime := '12:00';
end
else if (RegexC.IsMatch(Event.Time)) then
begin
startTime := '12:00';
endTime := '15:00';
end
else if (RegexD.IsMatch(Event.Time)) then
begin
startTime := '14:00';
endTime := '16:00';
end
else
begin
allDayEvent := true;
startTime := Event.startTimeDate;
endTime := Event.EndDate.AddDays(1);
end
Da habe ich dann auch lieber deutliche Einrückungen (1 Tab = 4 Leerzeichen) damit man die Blöcke direkt sieht. Würde man dann allein für das begin eine eigene Einrückungsebene einziehen, vergeudet man ja die Hälfte des Platzes...
Ich würde daher aus
Delphi-Quellcode:
if bla then
begin
TuWas;
end
das machen:
Delphi-Quellcode:
if bla then
begin
TuWas;
end
Dann kann man auch (etwas leichter) links am Rand 'runtergucken um das nächste end zu sehen.