Sollten Dateien den Namen "Something-with-Hyphens.js", "camelCased.js" oder etwas anderes haben?
Ich habe hier keine Antwort auf diese Frage gefunden .
javascript
naming-conventions
ripper234
quelle
quelle
MyPlugin
Klasse würde hineingehenMyPlugin.js
. DieMenuItem
React-Komponente wird aktiviertMenuItem.js
. Andere Entwickler benötigen / importieren 'your-cool-module' und verwenden mehrere Symbole darauscool-module.js
. Nennen Sie es also . -Antworten:
Eine mögliche Namenskonvention besteht darin, etwas zu verwenden, das dem von jQuery verwendeten Namensschema ähnelt. Es ist nicht allgemein anerkannt, aber es ist ziemlich häufig.
Dabei kann das
product-name
+plugin
-Paar auch einen Namespace und ein Modul darstellen . Dieversion
undfiletype
sind in der Regel optional.filetype
kann relativ zum Inhalt der Datei sein. Oft gesehen werden:min
für minimierte Dateiencustom
für benutzerdefinierte oder geänderte DateienBeispiele:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
quelle
Mir ist keine bestimmte Konvention für Javascript-Dateien bekannt, da sie im Web nicht wirklich einzigartig sind, im Vergleich zu CSS-Dateien oder HTML-Dateien oder anderen Dateitypen wie diesen. Es gibt einige "sichere" Dinge, die Sie tun können, um die Wahrscheinlichkeit zu verringern, dass Sie versehentlich auf ein plattformübergreifendes Problem stoßen:
various-scripts.js
, ist ein Bindestrich ein sicheres und nützliches und häufig verwendetes Trennzeichen.quelle
Es gibt keine offizielle, universelle Konvention zum Benennen von JavaScript-Dateien.
Es gibt verschiedene Möglichkeiten:
scriptName.js
script-name.js
script_name.js
sind alle gültigen Namenskonventionen, ich bevorzuge jedoch die von jQuery vorgeschlagene Namenskonvention (für jQuery-Plugins, obwohl sie für jedes JS funktioniert)
jquery.pluginname.js
Das Schöne an dieser Namenskonvention ist, dass sie explizit die globale Verschmutzung des Namespace beschreibt, die hinzugefügt wird.
foo.js
fügt hinzuwindow.foo
foo.bar.js
fügt hinzuwindow.foo.bar
Weil ich die Versionierung weggelassen habe: Sie sollte nach dem vollständigen Namen stehen, vorzugsweise durch einen Bindestrich getrennt, mit Punkten zwischen Haupt- und Nebenversion:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
quelle
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
, habe das nie bemerktFoo
odermyFoo
würden Sie die Datei einfach benennenFoo.js
odermyFoo.js
?Die Frage in dem Link, den Sie gegeben haben, befasst sich mit der Benennung von JavaScript-Variablen und nicht mit der Benennung von Dateien. Vergessen Sie dies für den Kontext, in dem Sie Ihre Frage stellen.
Die Benennung von Dateien ist lediglich eine Frage der Präferenz und des Geschmacks. Ich bevorzuge es, Dateien mit Bindestrichen zu benennen, da ich dann nicht nach der Umschalttaste greifen muss, wie dies beim Umgang mit camelCase-Dateinamen der Fall ist. und weil ich mich nicht um Unterschiede zwischen Windows- und Linux-Dateinamen kümmern muss (bei Windows-Dateinamen wird die Groß- und Kleinschreibung nicht berücksichtigt, zumindest nicht unter XP).
Wie so viele lautet die Antwort "es kommt darauf an" oder "es liegt an Ihnen".
Die einzige Regel, die Sie befolgen sollten, ist, in der von Ihnen gewählten Konvention konsistent zu sein.
quelle
Ich bevorzuge im Allgemeinen Bindestriche mit Kleinbuchstaben, aber eine Sache, die noch nicht erwähnt wurde, ist, dass es manchmal schön ist, wenn der Dateiname genau mit dem Namen eines einzelnen Moduls oder einer darin enthaltenen instanziierbaren Funktion übereinstimmt.
Zum Beispiel habe ich ein aufschlussreiches Modul mit
var knockoutUtilityModule = function() {...}
einer eigenen Datei namens knockoutUtilityModule.js deklariert , obwohl ich objektiv knockout-Utility-module.js bevorzuge.Da ich zum Kombinieren von Skripten einen Bündelungsmechanismus verwende, habe ich aus Gründen der Wartbarkeit instanziierbare Funktionen (Vorlagenansichtsmodelle usw.) in einer eigenen Datei im C # -Stil definiert. Zum Beispiel lebt ProductDescriptorViewModel alleine in ProductDescriptorViewModel.js (ich verwende Großbuchstaben für instanziierbare Funktionen).
quelle