2009-10-07 13 views
5

Wie nennen Sie Ihre Funktionen, wenn Namen, die ein sächsisches Genitiv enthalten, wie "Verify Task Priority" und "Change's Priority" oder "Action's Delay" erhöhen?Sächsischer Genitiv in Namenskonventionen?

Haben Sie den Apostroph? verifyTasksPriority(), changeArgumentsPriority(), increaseActionsDelay()

Sie lassen sowohl den Apostroph als auch das "s" fallen? verifyTaskPriority(), changeArgumentPriority(), increaseActionDelay()

Ersetzen Sie den Sächsischen Genitiv durch "von"? verifyPriorityOfTask(), changePriorityOfArgument(), increaseDelayOfAction()?

Ich mag die erste Option nicht, weil es sich anhört, als ob die Funktion an mehreren Dingen und nicht nur an einer Sache funktioniert. Ich mag die zweite Option nicht, weil es nicht natürlich klingt. Ich mag die dritte Option nicht, weil das Wort, von, in einem Funktionsnamen einfach nicht richtig klingt.

Welche Option verwenden Sie?

+0

Also ist es Option 2 dann. Danke euch allen! –

Antwort

9

Ich benutze die zweite. Klingt gut für mich. Denken Sie an "Aufgabenpriorität" als ein zusammengesetztes Wort wie "Staubsauger".

+2

Das ist genau meine Ansicht. Zusammengesetzte Substantive sind normalerweise die prägnanteste Art, Funktionen zu benennen. – Noldorin

2

Ich finde, dass die Nummern zwei und drei gut zu mir klingen, und sind beschreibend. Ich benutze die zweite Option. Die erste Option könnte möglicherweise verwirrend sein, da sie darauf hinweist, dass sie auf einer Sammlung und nicht auf einem einzelnen Element (z. B. Aufgaben statt Aufgabe) operiert.

Ich war mir jedoch nicht bewusst, dass ich Saxon Genitiv-Programmierung machte; Ich füge das sofort meinem Lebenslauf hinzu.

1

Ich kann mich nicht erinnern, jemals das Bedürfnis gehabt zu haben, irgendwelche von ihnen von Hand zu benutzen.

Ich schreibe OO-Code, hauptsächlich in OO-Sprachen, um die Priorität einer Aufgabe zu überprüfen, die Sie hätten task.verifyPriority(), obwohl in der Regel nur task.verify() als die öffentliche Methode haben.

Die Überprüfung der Priorität kann andere Logik beinhalten - sagen wir, die Priorität kann nur 7 sein, wenn der Besitzer der Aufgabe Bob ist. Wenn Sie den Besitzer einer der Aufgaben von Bob mit der Priorität 7 auf Anna setzen, würde das inkonsistent werden, aber würden Sie verifyOwner() aufrufen, wenn Sie den Besitzer ändern, sowie verifyPriority(), wenn Sie die Priorität ändern, selbst wenn sie dieselbe Logik haben?

Ich habe festgestellt, dass APIs weniger spezifisch für das Detail der Implementierung führt zu mehr formbaren Code.

In Nicht-OO-Sprachen verwende ich normalerweise <library>_<Noun>_<Verb>, also tman_task_verify (task_t* self), um das Task-Objekt in der Task-Manager-Bibliothek zu verifizieren, um sich zu verifizieren.

+0

+1 für das Aufzeigen von object.method als gemeinsames OO-Muster. – codingoutloud