web-dev-qa-db-fra.com

Quelle est la convention de nommage de nom de fichier javascript?

Les fichiers doivent-ils être nommés quelque chose avec hyphens.js, camelCased.js ou autre chose?

Je n'ai pas trouvé la réponse à cette question ici .

257
ripper234

Une convention de dénomination possible consiste à utiliser quelque chose de similaire au schéma de dénomination utilisé par jQuery. Ce n'est pas universellement adopté mais c'est assez commun.

product-name.plugin-ver.sion.filetype.js

où la paire product-name + plugin peut également représenter un espace de noms et un module . Les variables version et filetype sont généralement facultatives.

filetype peut être quelque chose de relatif au contenu du fichier. On voit souvent:

  • min pour les fichiers minifiés
  • custom pour les fichiers personnalisés construits ou modifiés

Exemples:

  • jquery-1.4.2.min.js
  • jquery.plugin-0.1.js
  • myapp.invoice.js
163
Bryan Menard

Je ne suis au courant d'aucune convention particulière concernant les fichiers javascript, car ils ne sont pas vraiment uniques sur le Web par rapport aux fichiers CSS, aux fichiers HTML ou à tout autre type de fichier de ce type. Il existe certaines choses "sûres" que vous pouvez faire qui rendent moins probable que vous rencontriez accidentellement un problème multi-plateforme:

  1. tilisez tous les noms de fichiers minuscules. Certains systèmes d'exploitation ne sont pas sensibles à la casse des noms de fichiers et l'utilisation de toutes les minuscules empêche l'utilisation par inadvertance de deux fichiers qui ne diffèrent que dans le cas où cela pourrait ne pas fonctionner sous certains systèmes d'exploitation.
  2. N'utilisez pas d'espaces dans le nom du fichier. Bien que cela puisse techniquement fonctionner, il existe de nombreuses raisons pour lesquelles les espaces dans les noms de fichiers peuvent entraîner des problèmes.
  3. n trait d'union est correct pour un séparateur de mots. Si vous souhaitez utiliser une sorte de séparateur pour plusieurs mots au lieu d'un espace ou d'un camelcase comme dans various-scripts.js, un trait d'union est sûr et utile. séparateur couramment utilisé.
  4. Pensez à utiliser des numéros de version dans vos noms de fichiers. Lorsque vous souhaitez mettre à niveau vos scripts, planifiez les effets de la mise en cache du navigateur ou du CDN. Le moyen le plus simple d'utiliser la mise en cache à long terme (pour la rapidité et l'efficacité), mais les mises à niveau immédiates et sûres lorsque vous mettez à niveau un fichier JS consiste à inclure un numéro de version dans le nom de fichier ou le chemin d'accès déployé (comme le fait jQuery avec jquery-1.6.2.js ) puis vous bump/changez ce numéro de version chaque fois que vous mettez à jour/changez le fichier. Cela garantira qu'aucune page demandant la version la plus récente ne servira jamais l'ancienne version à partir d'un cache.
114
jfriend00

Il n'y a pas de convention officielle universelle pour nommer les fichiers JavaScript.

Il y a différentes options:

  • scriptName.js
  • script-name.js
  • script_name.js

toutes les conventions de nommage sont valables, cependant I préfère la convention de nommage suggérée par jQuery (pour les plugins jQuery, bien que cela fonctionne pour tout JS)

  • jquery.pluginname.js

La beauté de cette convention de dénomination est qu’elle explicitement décrit la pollution globale par l’espace de nommage ajoutée.

  • foo.js ajoute window.foo
  • foo.bar.js ajoute window.foo.bar

Parce que j'ai omis le contrôle de version: il devrait être placé après le nom complet, de préférence séparé par un trait d'union, avec des points entre les versions majeure et mineure:

  • foo-1.2.1.js
  • foo-1.2.2.js
  • ...
  • foo-2.1.24.js
51
zzzzBov

La question dans le lien que vous avez donné parle de la dénomination des variables JavaScript, pas de la dénomination des fichiers, alors oubliez cela pour le contexte dans lequel vous posez votre question.

Quant à la dénomination des fichiers, il s'agit simplement d'une question de préférence et de goût. Je préfère nommer les fichiers avec des traits d'union parce que je n'ai pas besoin d'atteindre la touche Maj, comme c'est le cas lorsque je traite des noms de fichiers camelCase; et parce que je n'ai pas à m'inquiéter des différences entre les noms de fichiers Windows et Linux (les noms de fichiers Windows ne sont pas sensibles à la casse, du moins via XP).

Alors la réponse, comme tant d’autres, est "ça dépend" ou "ça dépend de toi".

La seule règle à suivre est d’être cohérent dans la convention que vous choisissez.

12
Pete Wilson

Je préfère généralement les traits d'union avec les minuscules, mais une chose qui n'a pas encore été mentionnée est qu'il est parfois agréable que le nom du fichier corresponde exactement au nom d'un seul module ou d'une fonction instanciable qu'il contient.

Par exemple, j'ai un module de révélation déclaré avec var knockoutUtilityModule = function() {...} dans son propre fichier nommé knockoutUtilityModule.js, bien que je préfère objectivement knockout-utility-module.js.

De même, comme j'utilise un mécanisme de regroupement pour combiner des scripts, je me suis mis à définir des fonctions instanciables (modèles de vues basées sur un modèle, etc.), chacune dans son propre fichier, style C #, à des fins de maintenance. Par exemple, ProductDescriptorViewModel est autonome dans ProductDescriptorViewModel.js (j'utilise des majuscules pour les fonctions instanciables).

6
Tom Hall