Frage

Ein Aspekt von JavaScript, die es schwer ist, auf Informationen zu finden, ist Gehäuse Praktiken. Durch Gehäuse Praktiken, ich meine, was Gehäuse Art (zB. Kamel-Fall, pascal-Fall, usw.) sollte für welche Elemente (Constructors, private Veranstaltungen, öffentliche Funktionen) verwendet werden.

Die einzige Regel, die ich gehört habe, war von einem Douglas Crockford Vortrag über YUI Theater, die besagt, dass Konstrukteure die einzigen Funktionen sein sollte, die mit einem Großbuchstaben beginnen.

Darüber hinaus scheint es nicht zu viele Gehäuse Standards zu sein, dass die Menschen in Javascript folgen.

Kennt jemand ein Gehäuse Best Practices für Javascript, und warum es sinnvoll, sie zu benutzen?

Auch folgen Sie einem Gehäuse Art mit Ihren Js-Dateien?

War es hilfreich?

Lösung

Ich ziehe Pascal für Konstrukteure und Camelcase für alles andere. Das ist der Stil, die JS-Standard-Bibliothek verwendet und gut ... jeder JS Rahmen, den ich bisher gesehen habe:)

Und ich all_lowercase Namenskonvention für alle Dateien von Web serviert. Es gibt einige Groß- und Kleinschreibung Dateisysteme gibt.

Andere Tipps

Die Kernsprache verwendet InitialCaps für Konstrukteure (z Objekt, Datum, Zahl, RegExp) und camelcase für Methoden und Eigenschaften (z something.toString (), quantity.valueOf (), regexp.ignoreCase). Diese Konvention wird auch in den DOM-Spezifikationen und Implementierungen (z.B. HTMLElement.setAttribute ()) folgt. So macht es am meisten Sinn die gleiche Konvention zu übernehmen, oder Sie beenden mit einem schrecklichen Mischmasch der Stile wie:

var number_of_fish_requested = document.getElementById("fish").value;
var fish_count = parseInt(number_of_fish_requested, 10);

, die nur äußerst verwirrend wird, nicht nur zu geben, sondern, viel wichtiger, zu lesen.

(Sie verbringen mehr Zeit Code lesen, zu debuggen versuchen oder zu modifizieren, als Sie es jemals in erster Linie tun zu schreiben.)

Was habe ich eine sehr große Vielfalt von Gehäusestandards so weit ist zu sehen.

Soweit ich besorgt bin, verwende ich # Styling C für meinen JavaScript-Code zu schreiben. Ich benutze Klassen viel (auch Funktionen wie Klassen, und in der Regel nicht über unabhängige Funktionen.) Also, ich benutze Pascal für Klassennamen, öffentliche Methoden, Eigenschaften und alle globalen Variablen und camelcase für Argumente, lokale Variablen und private Veranstaltungen. Dies spiegelt irgendwie meine gemeinsame Umwelt und hilft, die variablen Bereiche zu unterscheiden. Ich neige dazu, auch meine Klassenfunktionen in einer separaten Datei mit dem gleichen Namen wie mein Klassenname (ClassName.js, ClassName.min.js) zu halten.

Das war über meinen Ansatz.

Ich habe auch bemerkt, dass Java-Programmierer, die Java-Regeln folgen (und der Schreibstil ähnelt der Java-Sprache.) Ruby on Rails Programmierer ihre eigenen Namensgebung Standards folgen wie underscore_separated_var_name.

Ferner ist, wie Sie erwähnt haben, gibt es eine Tendenz bei der Benennung in sehr populären Frameworks, deren Autoren kommen aus verschiedenen Gemeinden wie Linux / Open-Source-Community und Microsoft-Entwickler (jQuery, knockout.js, JSJaC Pascal viel zu verwenden, etc. )

sollte ich beachten Sie, dass keine dieser Methoden sind falsch oder richtig, wenn es um JS kommt. Der primäre Zweck Ihrer Namenskonventionen und Datei Strukturierung ist die Lesbarkeit. Wenn Sie konsistent sind dann in Sie Zukunft und Ihre Kolleginnen und Entwickler werden schnell verstehen, und mit Ihrem Code auszukommen.

Ich ziehe es camelcase für alles außer für Konstrukteure. Der Grund (und ich glaube, das ist, warum Herr Crockford dies auch vorgeschlagen), weil in anderen Sprachen wie Java, die Konvention nutzt Ihre Klassen ist, das ist, was Konstrukteuren für verwendet werden.

Das ist mein $ 0.02.

Alle Kleinbuchstaben mit Unterstreichungs Separatoren ist die am einfachsten zu lesen; es folgt der natürlichen Sprache. „Best“ werden Sie in einen heiligen Krieg zu bekommen; die Realität ist, Fall nicht so viel wie andere Design-Fragen Rolle, aber es ist ein einfaches Thema zu polarisieren.

ALongButNotReallyReadableIdentifier
an_even_longer_but_completely_readable_identifier

Die akzeptierte Antwort ist wahr, aber es gibt einige Ausnahmen. In window.JSON und window.XMLHttpRequest wird der Begriff aktiviert.

Auch die meisten Leute benutzen Pascal für Aufzählungstyp Objekte in Javascript und aktivierte Werte innerhalb. Manchmal werden Namespaces in Pascal geschehen auch.

Beispiel: MyCompany.Web.UI.MyComponent.ThemeOption = {BLACK: 0, SILBER: 1, BLAU: 2}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top