Sollten Dateien den Namen "Something-with-Hyphens.js", "camelCased.js" oder etwas anderes haben?
Ich habe hier keine Antwort auf diese Frage gefunden .
Sollten Dateien den Namen "Something-with-Hyphens.js", "camelCased.js" oder etwas anderes haben?
Ich habe hier keine Antwort auf diese Frage gefunden .
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.
product-name.plugin-ver.sion.filetype.js
Dabei kann das product-name+ plugin-Paar auch einen Namespace und ein Modul darstellen . Die versionund filetypesind in der Regel optional.
filetypekann 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.jsjquery.plugin-0.1.jsmyapp.invoice.jsMir 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.Es gibt keine offizielle, universelle Konvention zum Benennen von JavaScript-Dateien.
Es gibt verschiedene Möglichkeiten:
scriptName.jsscript-name.jsscript_name.jssind 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.jsDas Schöne an dieser Namenskonvention ist, dass sie explizit die globale Verschmutzung des Namespace beschreibt, die hinzugefügt wird.
foo.js fügt hinzu window.foofoo.bar.js fügt hinzu window.foo.barWeil 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.jsfoo-1.2.2.jsfoo-2.1.24.jsThe beauty to this naming convention is that it explicitly describes the global namespace pollution being added., habe das nie bemerkt
Foooder myFoowürden Sie die Datei einfach benennen Foo.jsoder myFoo.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.
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).
MyPluginKlasse würde hineingehenMyPlugin.js. DieMenuItemReact-Komponente wird aktiviertMenuItem.js. Andere Entwickler benötigen / importieren 'your-cool-module' und verwenden mehrere Symbole darauscool-module.js. Nennen Sie es also . -