web-dev-qa-db-fra.com

Guide de style de codage pour les applications node.js?

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 cherche un guide (ou plusieurs guides) dans la lignée de PEP 8 , le Guide de style canonique pour Python. J'ai vu divers guides JavaScript qui ne méritaient pas d'être liés ici (principalement anciens et ciblés sur JavaScript côté client). J'ai trouvé un noeud intéressant.js guide de style .

Un guide de style de codage, ou des conventions de codage, devrait inclure (sans toutefois s'y limiter):

  • Disposition du code: indentation (2 espaces, 4 espaces, tabulations, ...), nouvelles lignes, sauts de ligne, etc.
  • Espace blanc, par exemple, "fonction (argument)" par rapport à "fonction (argument)"
  • Point-virgule ou aucun point-virgule, déclaration var, ...
  • Nommer, par exemple, do_this () vs doThis (), nom_var vs nomVar, ...
  • noyaux node.js et JavaScript, par exemple, == contre ===, le premier argument de callback est un objet d'erreur, ...
  • Commentaires et documentation
  • Outils d'accompagnement, tels que détecteur de peluches, framework de tests unitaires, ...

Ce sujet est évidemment très subjectif, mais je pense que l’établissement par la communauté d’un style de codage commun et largement accepté au cours du processus de maturation est une étape importante. En outre, il ne s'agit pas uniquement de goût. Des règles telles que "utiliser === au lieu de ==" ont une influence directe sur la qualité du code.

129
alienhard

Je passerais en revue les normes de codage vérifiées par JSLint ou jetterais un œil à l'auteur de NPM (Isaac Shlueter's) codage normes .

Vous pouvez également consulter le style utilisé par les principaux codeurs Node.JS:

Je vais jeter le mien pour faire bonne mesure;)

Edit: Suggestions from @ alienhard

OMI, il y a quelques règles d'or que vous devriez suivre:

  • Ne jamais utiliser with ou eval
  • Utilisez === Sur ==
  • Déclarez toujours vos variables avec var dans la portée appropriée - ne retombez pas dans la portée globale
  • Enveloppez votre application dans une fermeture (function(){})() Si vous envisagez de publier du code qui s'exécute côté serveur ainsi que dans le navigateur
  • Les rappels doivent prendre err comme premier argument et s’ils prennent eux-mêmes un rappel comme argument, il doit être le dernier, par exemple. callback(err, param1, param2, callback)

L'indentation, l'espacement entre les accolades et les mots-clés, ainsi que le placement de points-virgules sont une question de préférence.

117
chriso

Il y a un nouveau standard en ville.

Utilisez Style standard .

js-standard-style

14
mightyiam

Vous pouvez apprendre beaucoup de bonnes pratiques de style de codage grâce aux guides JavaScript orientés client (la plupart d’entre eux s’appliquent également à node.js en général, car la différence entre client et serveur réside principalement dans les bibliothèques et non dans le langage lui-même). Par exemple, JavaScript Patterns book consacre à ce sujet certaines parties du Chapitre 2 . Aussi site web , livre et vidéos (vidéos) de Douglas Crockford sont des documents incontournables pour adopter des styles de codage spécifiques à JavaScript et les meilleures pratiques, je dirais.

10
yojimbo87

Lorsque vous utilisez un noeud à partir du terminal, il est utile que votre code source utilise des espaces pour l'indentation. Sinon, le curseur "erreur ici" ne sera pas aligné.

Avec des onglets:

        var preps = files.map(function(f) { 
            ^
TypeError: Cannot call method 'map' of null

Avec des espaces:

        var preps = files.map(function(f) { 
                          ^
TypeError: Cannot call method 'map' of null

Cela pourrait ne concerner que Mac, mais je suppose que non.

7

Cela fait longtemps que je n'ai pas posé cette question ... et entre temps, j'ai trouvé cet excellent guide JavaScript:

Principes d'écriture de JavaScript cohérent et idiomatique

https://github.com/rwldrn/idiomatic.js/

6
alienhard

Airbnb a un très bon guide de style Javascript https://github.com/airbnb/javascript

5
Dror

Pour Coffee-Script, où un mauvais retrait signifie une erreur de compilation

utilisation

:set tabstop=2
:set shiftwidth=2
:set expandtab

projets de café populaires, zombie, brunch utilise cette configuration pour les indentations.

Modifier:

En fait, utilisez ceci! https://github.com/paulmillr/code-style-guides (l'un des principaux contributeurs à brunch)

2
Quang Van