Je sais qu'il y a beaucoup de controverse (peut-être pas de controverse, mais des arguments au moins) sur la convention de dénomination la plus appropriée pour JavaScript.
Comment nommez-vous vos variables, fonctions, objets et autres?
Je laisserai mes propres réflexions à ce sujet, car je ne fais pas de JS depuis longtemps (quelques années seulement), et je viens de recevoir une demande de création d'un document avec des conventions de dénomination à utiliser dans nos projets au travail . J'ai donc regardé (google-ing) autour, et il y a tellement d'opinions différentes.
Les livres que j'ai lus sur JS utilisent eux-mêmes différentes conventions de dénomination, mais ils s'accordent tous sur un point: "Trouvez ce qui vous convient et respectez-le." Mais maintenant que j'ai beaucoup lu, j'ai trouvé que j'aimais certaines des autres méthodes un peu mieux que ce à quoi je suis habitué maintenant.
Réponses:
Je suis les conventions de code de Douglas Crockford pour javascript. J'utilise également son outil JSLint pour valider le respect de ces conventions.
la source
ECBhandle
vsecbHandle
( peu importe ce que signifie la BCE).Comme le dit Geoff, ce que dit Crockford est bon.
La seule exception que je suis (et que j'ai vu largement utilisée) est d'utiliser $ varname pour indiquer un objet jQuery (ou n'importe quelle bibliothèque). Par exemple
var footer = document.getElementById('footer');
var $footer = $('#footer');
la source
Vous pouvez suivre ce guide de style Google JavaScript
En général, utilisez functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis et SYMBOLIC_CONSTANTS_LIKE_THIS.
EDIT: Voir une belle collection de guides de style JavaScript et embellisseurs .
la source
_fooBar
fairefooBar_
- Microsoft l'a fait correctement: asp.net/ajaxlibrary/act_contribute_codingStandards.ashx_
lors du référencement de vars privés entraînerait immédiatement l'intellisense limitant les résultats; à la fin, j'ai pensé que c'était une préférence personnelle.Une convention que j'aimerais essayer est de nommer les modules statiques avec un préfixe «the». Regarde ça. Quand j'utilise le module de quelqu'un d'autre, ce n'est pas facile de voir comment je suis censé l'utiliser. par exemple:
Je pense à essayer une convention où les modules statiques utilisent «le» pour indiquer leur préexistence. Quelqu'un a-t-il vu un meilleur moyen que cela? Ressemblerait à ceci:
la source
Je pense qu'en plus de quelques limitations de syntaxe; le raisonnement des conventions de nommage est très indépendant du langage. Je veux dire, les arguments en faveur de c_style_functions et JavaLikeCamelCase pourraient tout aussi bien être utilisés dans le sens inverse, c'est juste que les utilisateurs du langage ont tendance à suivre les auteurs du langage.
Cela dit, je pense que la plupart des bibliothèques ont tendance à suivre à peu près une simplification de CamelCase de Java. Je trouve que les conseils de Douglas Crockford sont de bon goût pour moi.
la source
C'est une question individuelle qui peut dépendre de la façon dont vous travaillez. Certaines personnes aiment mettre le type de variable au début de la variable, comme "str_message". Et certaines personnes aiment utiliser le soulignement entre leurs mots ("mon_message") tandis que d'autres aiment les séparer avec des lettres majuscules ("monMessage").
Je travaille souvent avec d'énormes bibliothèques JavaScript avec d'autres personnes, donc les fonctions et les variables (à l'exception des variables privées à l'intérieur des fonctions) doivent commencer par le nom du service pour éviter les conflits, comme "guestbook_message".
En bref: les noms de variables et de fonctions anglais, minuscules et bien organisés sont préférables selon moi. Les noms doivent décrire leur existence plutôt que d'être courts.
la source