Mit der Benennung stimmt da so einiges nicht. "WorkFile" heißt "ArbeiteDatei". Das ist unverständlich. Wenn du "Arbeitsdatei" ausdrücken wolltest.
Na ja. Man sagt ja auch Workflow. Und das heist ja auch nicht "ArbeiteAblauf" sondern "ArbeitsAblauf".
Sry, aber Workflow ist ein feststehender Begriff.
Zitat:
Eine Funktion sollte i.d.R. ein Verb im Namen haben, denn sie ist nichts, sondern tut etwas. Und das mit File und FileName wurde ja schon gesagt. Also wenn dann getWorkingFileName oder getCurrentFileName.
Dann müsste ja jede Function ein "Get" im Namen beinhalten, weil Sie ja immer etwas macht und zurückgibt. Ein WorkingFilename finde ich leserlicher als GetWorkingFilename.
Dann lies mal, was Luckie geschrieben hat. Über ne Property kriegst du genau diesen Bezeichner. Properties sind nämlich i.d.R. Substantive.
Zitat:
Es gibt auch Funktionen, die geben einfach einen Zustand zurück. Da schreibe ich doch eher "IsHot" als "GetIsHot". Da ist nichts mit Verb.
Also ich weiß ja nicht, wo du Grammatik gelernt hast, aber bei mir ist "is" definitiv ein Verb. 3. Person Singular. Präsens Aktiv von "to be".
Zitat:
Auch enum-Parameter halte ich nicht für gut. Das sind nämlich immer noch Kontrollkopplungen und zeugen davon, dass die Funktion etwas tut, was eigentlich nicht ihre Aufgabe ist. ==> SingeResponsibilityPrinciple
Warum sollte es nicht Aufgabe der Funktion sein, eine Rückgabeeigenschaft auszuwerten.
Ich gebe zu, dass das hier ein Grenzfall ist. Der Punkt ist jedenfalls, dass es ein Warnsignal ist, wenn Probleme hast, einen sinnvollen Namen zu vergeben.
Auch das sehe ich anders. Wenn ich oft Funktionen verschachteln muss, dann mache ich daraus eine neue Funktion. Was kann man besser lesen.
Code:
result:=comparetext(ExtractFileDir(WorkingFileName),ExtractFileDir(EineAndereDatei))=0;
result:=comparetext(WorkingFileDir,EineAndereDateiDir)=0;
Ich finde, das Zweite Beispiel ist besser zu lesen.
Deshalb verwendet man Variablen um Werte mit passenden Namen zwischen zu speichern.
mfg
Christian