Kleinigkeit:
IsNoEmptyString
Ist später vermutlich sehr schlecht zu lesen... If NOT IsNoEmptyString....
Man benötigt schon ein paar Sekunden, um beim Lesen des Codes die doppelte Negation aufzulösen.
Der Bezeichner sollte 'eigentlich' nie eine Negation im Namen beinhalten, einfach aus Gründen der besseren Lesbarkeit.
Andererseits ist in der Regel ein gefüllter String erforderlich.
Also die Abfrage auf
str <> ''
ist häufiger als
str = ''
.
Sonst müsste man immer schreiben
if not IsEmptyString then
anstatt
if IsNoEmptyString then
.
Ein Clean-Code-Dilemma.
EDIT: Ach ja, danke an himitsu und NamenLozer für die einleuchtende Erklärung.