So erkenne ich schon am IF, ob es 300 Zeilen tiefer noch ein ELSE gibt.
Da würde ich gerne mal ein Beispiel aus deinem Sourcecode sehen.
Wenn du Probleme hast auf einen Blick den Else-Teil zu erfassen, dann liegt das einfach daran dass du zuviel Code im Then-Teil hast.
Oder wenn die If-Bedingung nicht in maximal 2 Zeilen passt dann macht man etwas falsch.
Hier mal ein kleines Beispiel:
Delphi-Quellcode:
begin
// prüfe ob Land in franz. Überseegebiet liegt
if country='GP' or country='MQ' or country='RE' or country='GF' or country='PM' then
begin
...
Diese If-Abfrage ist mit einer Zeile noch überschaubar, aber man braucht einen Kommentar um zu verstehen was das Ganze eigentlich soll.
Und hier die verbesserte Variante:
Delphi-Quellcode:
function IsFrenchOversea(const country:string): boolean;
const
ll : array[0..4] of string = (
'GP', // Guadelupe
'MQ', // Martinique
'RE', // Réunion
'GF', // French Guyana
'PM' // Saint Pierre & Miquelion
);
begin
Result := StrIsOneOf(country, ll);
end;
begin
if IsFrenchOversea(country) then
begin
...
Insgesamt ist es mehr Code aber man braucht keinen Kommentar mehr um zu verstehen was da passiert.
Eigentlich wollte ich ein Beispiel bringen mit über 20 Teilbedingungen aber das war mir zu viel Schreibarbeit.
Also wenn eine If-Bedingung zu komplex oder zu lang wird dann packt man sie in eine Unterfunktion!
Das Gleiche gilt auch für den Then-Teil oder den Else-Teil.
Wenn es zuviele Zeilen werden dann ist das ein Zeichen dass hier etwas faul ist ("der Code stinkt").
Dann heisst es die vielen Codezeilen in Unterfunktion auszulagern.
Bin halt daran seit über 20 Jahren gewöhnt... Und kann daher NIE die Formatierung ausnutzen.
Das bedeutet dass du seit über 20 Jahren zuviel Code in eine Methode, Funktion, Prozedur oder Block packst und deshalb immer Probleme mit der Formatierung hast.
Ich kann nur empfehlen die Ursache abzustellen, dann braucht du auch keinen Codeformatierer.