Zurück zum Thema:
Die Funktion "GetCmdLineSwitchValue" verstößt mindestens gegen die
CC-Prinzipien "Command
Query Separation" sowie "Do one thing": Die Funktion ermittelt den Wert eines Kommandozeilenparameters UND liefert TRUE bei Erfolg.
Ich würde es genauso umsetzen, aber 'sauber' im Sinne von
CC wäre das nicht. Es ist aus dem Funktionsnamen nicht ersichtlich, das "aFilename" geliefert wird; man muss 2x hinschauen. Da es keine zeitliche Koppelung zwischen 'Vorhandensein des Parameters' und 'Extrahieren des Parameters' gibt, sollte man die Funktion aufteilen (nur im Sinne von
CC)
Delphi-Quellcode:
...
if GetCmdLineSwitchValue(aFileName, FConfigCmdParam) then
...
CC liefert hier ein Beispiel, wie es besser geht:
Delphi-Quellcode:
If CmdLineSwitchExists(FConfigCmdParam) then
aFilename := GetCmdLineSwichValue(FConfigCmdParam);