2010-11-23 8 views
2
function get_IfUnsetAlsoSet_SomeGlobalVariable() { 
    if someGlobalVariable is not set { 
     someGlobalVariable = somedata 
    } 
    return someGlobalVariable 
} 

Soll ich einen solchen Namen geben? -> getSomeGlobalVariable()
Wie nennen Sie diese Getset-Funktionen?Wie soll ich diese Funktion benennen?

+0

Ich nicht, ich habe Eigenschaften. I <3 .NET – annakata

Antwort

4

Wie ich verstehen kann, riecht das ein bisschen wie der Singleton. So könnten Sie diesen Namen verwenden:

GlobalInstance(); oder so etwas.

+0

Es ist eine einfache JavaScript/jQuery-Funktion, die überprüft, ob etwas im DOM ist. Wenn nicht, legt die Funktion etwas in das DOM und bekommt. Wenn es bereits eingestellt ist, wird die Funktion es bekommen. – Vili

+0

Wie bestimmt die Funktion, welches "Etwas" in das DOM eingefügt werden soll? Im Allgemeinen sollten Sie versuchen, die unerwarteten Nebenwirkungen für Ihren Code zu minimieren. Das Verhalten, das Sie zeigen, wird Entwicklern als Singleton erwartet, aber nicht unbedingt in einer "Get" -Methode. –

+0

Aaaah, jetzt verstehe ich, wovon du sprichst. – Vili

5

Ich denke, ein Name wie getSomeGlobalVariable() sollte einfach sein, ohne Verwirrung.

Grundsätzlich müssen Sie Ihre vollständige Logik nicht in einem Methodennamen angeben.

+3

Diese Methode hat Nebenwirkungen, die Benennung könnte verwirrend sein, wenn ein Entwickler sie aufruft und erwartet, dass sie einfach die Variable zurückgibt. – Jim

+1

@Jim - Ja, also würde es dem Entwickler egal sein, ob es in der Methode eingestellt wird oder nicht richtig? Er muss nur den Wert der Variablen I pressume bekommen. Ich denke, das sollte ihn nicht verwirren. –

+0

Die RWTF ist, dass die Methode Nebenwirkungen hat. Sie müssen entscheiden, ob sie wichtig sind und ob Sie sie dokumentieren müssen (in Methodenname oder Meta) oder trennen Sie sie. – annakata

-1

Pardon, wenn ich hier etwas fehlt bin, aber nach Ihrer Methode

function get_IfUnsetAlsoSet_SomeGlobalVariable() { 
    if someGlobalVariable is not set { 
     someGlobalVariable = somedata 
    } 
    return someGlobalVariable 
} 

tun es einfach eine Sache, gesetzt ‚some‘ auf ‚someGlobalVariable‘. Persönlich finde ich es nicht gut, Namen wie 'somedata, someGlobalVariable' zu verwenden, stattdessen können Sie einige vollständige Namen wie 'applicationName, loggedUser usw.' verwenden.

In Ihrem Fall geben Sie im Grunde einen globalen Variablenwert zurück.

+3

Ich bin sicher, dass die generischen "Somedata" -Namen nur zum Beispiel sind, keine echten Bezeichner im Produktionscode. –

Verwandte Themen