Ich weiß, dass es viele Kontroversen gibt (vielleicht keine Kontroversen, aber zumindest Argumente), welche Namenskonvention für JavaScript die beste ist.
Wie benennen Sie Ihre Variablen, Funktionen, Objekte und dergleichen?
Ich werde meine eigenen Gedanken darüber weglassen, da ich JS schon lange nicht mehr gemacht habe (nur ein paar Jahre), und ich habe gerade die Anfrage erhalten, ein Dokument mit Namenskonventionen zu erstellen, die in unseren Projekten bei der Arbeit verwendet werden sollen . Ich habe mich also umgesehen (googeln) und es gibt so viele verschiedene Meinungen.
Die Bücher, die ich über JS gelesen habe, verwenden auch unterschiedliche Namenskonventionen, aber alle sind sich in einem Punkt einig: "Finden Sie, was zu Ihnen passt, und bleiben Sie dabei." Aber jetzt, wo ich so viel gelesen habe, habe ich festgestellt, dass ich einige der anderen Methoden ein bisschen besser mag als das, was ich jetzt gewohnt bin.
quelle
Antworten:
Ich folge Douglas Crockfords Code-Konventionen für Javascript. Ich verwende auch sein JSLint- Tool, um die Einhaltung dieser Konventionen zu überprüfen.
quelle
ECBhandle
vs.ecbHandle
(es spielt keine Rolle, was die EZB bedeutet).Wie Geoff sagt, ist das, was Crockford sagt, gut.
Die einzige Ausnahme, der ich folge (und die ich häufig gesehen habe), ist die Verwendung von $ varname, um ein jQuery-Objekt (oder eine andere Bibliothek) anzugeben. Z.B
var footer = document.getElementById('footer');
var $footer = $('#footer');
quelle
Sie können diesem Google JavaScript Style Guide folgen
Verwenden Sie im Allgemeinen functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis und SYMBOLIC_CONSTANTS_LIKE_THIS.
BEARBEITEN: Siehe schöne Sammlung von JavaScript Style Guides und Beautifiers .
quelle
_fooBar
siefooBar_
- Microsoft hat es richtig gemacht: asp.net/ajaxlibrary/act_contribute_codingStandards.ashx_
wenn private Vars Referenzierung führen würde intellisense sofort die Ergebnisse zu begrenzen; Am Ende dachte ich, es sei eine persönliche Präferenz.Eine Konvention, die ich ausprobieren möchte, ist die Benennung statischer Module mit dem Präfix 'the'. Überprüfen Sie dies heraus. Wenn ich das Modul eines anderen verwende, ist es nicht leicht zu erkennen, wie ich es verwenden soll. z.B:
Ich denke darüber nach, eine Konvention auszuprobieren, bei der statische Module 'the' verwenden, um ihre Präexistenz anzuzeigen. Hat jemand einen besseren Weg gesehen? Würde so aussehen:
quelle
Ich denke, dass neben einigen Syntaxbeschränkungen; Die Argumentation der Namenskonventionen ist sehr sprachunabhängig. Ich meine, die Argumente für c_style_functions und JavaLikeCamelCase könnten genauso gut umgekehrt verwendet werden. Es ist nur so, dass Sprachbenutzer dazu neigen, den Sprachautoren zu folgen.
Trotzdem denke ich, dass die meisten Bibliotheken in etwa dazu neigen, einer Vereinfachung von Javas CamelCase zu folgen. Ich finde die Ratschläge von Douglas Crockford geschmackvoll genug für mich.
quelle
Das ist eine individuelle Frage, die davon abhängen kann, wie Sie arbeiten. Einige Leute möchten den Variablentyp am Anfang der Variablen setzen, wie "str_message". Und einige Leute verwenden gerne Unterstriche zwischen ihren Wörtern ("my_message"), während andere sie gerne durch Großbuchstaben ("myMessage") trennen.
Ich arbeite oft mit riesigen JavaScript-Bibliotheken mit anderen Leuten zusammen, daher müssen Funktionen und Variablen (mit Ausnahme der privaten Variablen in Funktionen) mit dem Namen des Dienstes beginnen, um Konflikte zu vermeiden, wie "guestbook_message".
Kurz gesagt: Englisch, Kleinbuchstaben, gut organisierte Variablen- und Funktionsnamen sind meiner Meinung nach vorzuziehen. Die Namen sollten ihre Existenz beschreiben, anstatt kurz zu sein.
quelle