Question

Un aspect du javascript sur lequel il est difficile de trouver des informations concerne les pratiques de casing. Par pratiques de casse, j'entends quel style de casse (c.-à-d. Casse-chameau, casse pascal, etc.) doit être utilisé pour quels éléments (constructeurs, fonctions privées, fonctions publiques).

La seule règle que j'ai entendue vient d'une conférence de Douglas Crockford sur le théâtre YUI, selon laquelle les constructeurs devraient être les seules fonctions qui commencent par une lettre majuscule.

Au-delà de cela, il semble qu'il n'y ait pas beaucoup de normes de boîtier que les gens suivent en javascript.

Est-ce que quelqu'un connaît les meilleures pratiques en matière de casse pour JavaScript, et pourquoi il est raisonnable de les utiliser?

Suivez-vous également un style de boîtier avec vos fichiers .js?

Était-ce utile?

La solution

Je préfère PascalCase pour les constructeurs et camelCase pour tout le reste. C'est le style utilisé par la bibliothèque standard JS et bien ... tous les frameworks JS que j'ai vus jusqu'à présent:)

Et j'utilise la convention de nommage all_lowercase pour tous les fichiers servis à partir du Web. Il existe certains systèmes de fichiers insensibles à la casse.

Autres conseils

Le langage principal utilise InitialCaps pour les constructeurs (par exemple, Object, Date, Number, RegExp) et camelCase pour les méthodes et les propriétés (par exemple, quelquechose.toString (), quantity.valueOf (), regexp.ignoreCase). Cette convention est également suivie dans les spécifications et les implémentations DOM (par exemple, HTMLElement.setAttribute ()). Il est donc logique d’adopter la même convention, ou vous finissez avec un méli-mélo épouvantable de styles tels que:

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

qui devient complètement déroutant, non seulement à taper mais, surtout, à lire.

(Vous passez plus de temps à lire du code, à essayer de le déboguer ou de le modifier, que de l'écrire au début.)

Ce que j'ai vu jusqu'à présent, c'est une très grande diversité de normes de boîtier.

En ce qui me concerne, j’utilise le style C # pour écrire mon code JavaScript. J'utilise beaucoup les classes (bien les fonctions en tant que classes, et n'ont généralement pas de fonctions indépendantes.) J'utilise donc PascalCase pour les noms de classe, les méthodes publiques, les propriétés et toutes les variables globales et camelCase pour les arguments, les variables locales et les fonctions privées. Cela reflète en quelque sorte mon environnement commun, aidant à distinguer les portées variables. J'ai aussi tendance à garder mes fonctions de classe dans un fichier séparé portant le même nom que mon ClassName (ClassName.js, ClassName.min.js).

C’était à propos de mon approche.

J'ai également remarqué que les programmeurs Java suivaient les règles Java (et que leur style d'écriture ressemblait au langage Java.) Les programmeurs Ruby on Rails appliquent leurs propres normes de dénomination, telles que underscore_separated_var_name .

De plus, comme vous l'avez mentionné, pascalCase a souvent tendance à nommer dans des frameworks très populaires dont les auteurs proviennent de différentes communautés, telles que la communauté Linux / Open Source et les développeurs Microsoft (jQuery, knockout.js, JSJaC, etc.). )

Je dois noter qu’aucune de ces méthodes n’est bonne ou mauvaise en ce qui concerne JS. Le but principal de vos conventions de dénomination et de la structuration des fichiers est la lisibilité. Si vous êtes cohérent, vos futurs développeurs et votre compréhension comprendront rapidement votre code.

Je préfère camelCase pour tout sauf les constructeurs. La raison (et je crois que c’est la raison pour laquelle M. Crockford l’a également suggéré) est que, dans d’autres langages, tels que Java, la convention est de capitaliser vos classes, ce à quoi servent les constructeurs.

C'est mon 0,02 $.

Toutes les minuscules avec séparateurs de soulignement sont les plus faciles à lire; il suit le langage naturel. "Meilleur" vous mènera à une guerre sainte; la réalité est que le cas importe moins que d’autres problèmes de conception, mais c’est un sujet facile à polariser.

ALongButNotReallyReadableIdentifier
an_even_longer_but_completely_readable_identifier

La réponse acceptée est vraie mais il y a quelques exceptions. Dans window.JSON et window.XMLHttpRequest, le terme est mis en majuscule.

De plus, la plupart des gens utilisent PascalCase pour les objets de type énumération en Javascript et les valeurs en majuscules. Parfois, les espaces de noms sont également créés dans PascalCase.

exemple: MyCompany.Web.UI.MyComponent.ThemeOption = {NOIR: 0, ARGENT: 1, BLEU: 2}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top