Existe-t-il un (ou plusieurs) guide de style de codage pour node.js? Sinon, quels sont les styles émergents utilisés par les principaux projets de nœuds open-source?
Je recherche un guide (ou plusieurs guides) dans le sens de PEP 8 , le guide canonique de style de codage pour Python. J'ai vu divers guides JavaScript qui ne valent pas la peine d'être liés ici (principalement anciens et ciblés sur JavaScript côté client). J'ai trouvé un guide de style node.js intéressant .
Un guide de style de codage, ou des conventions de codage, devrait inclure (mais sans s'y limiter):
- Mise en page du code: indentation (2 espaces, 4 espaces, tabulations, ...), retours à la ligne, sauts de ligne, etc.
- Espace, par exemple, "fonction (arg)" vs "fonction (arg)"
- Point-virgule ou pas de point-virgule, déclaration var, ...
- Nommer, par exemple, do_this () contre doThis (), var_name contre varName, ...
- node.js et les idiomes JavaScript, par exemple, == vs ===, le premier argument de callback est un objet d'erreur, ...
- Commentaires et documentation
- Outils d'accompagnement, comme le vérificateur de peluches, le framework de test unitaire, ...
Ce sujet est évidemment très subjectif, mais je pense que c'est une étape importante d'une communauté pour établir un style de codage commun et largement accepté dans le processus de maturation. De plus, ce n'est pas qu'une question de goût. En particulier, des règles comme "utiliser === au lieu de ==" ont une influence directe sur la qualité du code.
la source
Réponses:
Je passerais en revue les normes de codage vérifiées par JSLint ou je regarderais l'auteur des normes de codage NPM (Isaac Shlueter) .
Vous pouvez également regarder le style utilisé par les codeurs Node.JS notables:
Je vais jeter le mien là-dedans pour faire bonne mesure;)
Edit: Suggestions de @alienhard
IMO, il y a quelques règles d'or à suivre:
with
oueval
===
plus==
var
dans la portée appropriée - ne revenez pas à la portée globale(function(){})()
si vous prévoyez de publier du code qui s'exécute côté serveur ainsi que dans le navigateurerr
comme premier argument et s'ils prennent eux-mêmes un rappel comme argument, il doit être le dernier, par exemplecallback(err, param1, param2, callback)
L'indentation, l'espacement entre les accolades et les mots-clés et l'emplacement des points-virgules sont tous une question de préférence.
la source
Il y a un nouveau standard en ville.
Utilisez le style standard .
la source
standard
paquet n'aime pas les points-virgules. Si vous aimez les points-virgules, il y a une demiVous pouvez apprendre beaucoup de bonnes pratiques de style de codage à partir de guides JavaScript orientés client (la plupart d'entre eux s'appliquent également à node.js en général, car la différence entre les côtés client et serveur réside principalement dans les bibliothèques et non dans le langage lui-même). Par exemple, le livre JavaScript Patterns consacre à ce sujet certaines parties du chapitre 2 . Le site Web , le livre et les vidéos de Douglas Crockford sont également des éléments incontournables afin d'adopter des styles de codage JavaScript spécifiques et les meilleures pratiques, je dirais.
la source
Lors de l'utilisation de node depuis le terminal, il est utile que votre code source utilise des espaces pour l'indentation. Sinon, le curseur "erreur ici" ne s'alignera pas.
Avec onglets:
Avec des espaces:
Cela pourrait être un problème uniquement Mac, mais je soupçonne que non.
la source
Cela fait un moment que je n'ai pas posé cette question ... et en attendant j'ai trouvé cet excellent guide JavaScript:
Principes d'écriture de JavaScript cohérent et idiomatique
https://github.com/rwldrn/idiomatic.js/
la source
Airbnb a un très bon guide de style Javascript https://github.com/airbnb/javascript
la source
Pour Coffee-Script, où de mauvais retraits signifie des erreurs de compilation
utilisation
projets de café populaires
zombie
,brunch
utilise cette configuration pour les indentations.Éditer:
En fait, utilisez ceci! https://github.com/paulmillr/code-style-guides (l'un des principaux contributeurs à
brunch
)la source