Avant-propos : Eh bien, ça a vite dégénéré. Mais j'ai décidé de m'en sortir. Puisse cette réponse vous être utile, à vous et aux autres lecteurs.
Indices de code
Bien que JSLint et JSHint soient de bons outils à utiliser, au fil des années, j'en suis venu à apprécier ce que mon ami @ugly_syntax appels :
un espace de conception réduit .
C'est un principe général, un peu comme un "moine zen", en limitant les choix que l'on doit faire, on peut être plus productif et créatif.
C'est pourquoi je préfère actuellement le style de code JS sans configuration :
StandardJS .
UPDATE :
Débit s'est beaucoup amélioré. Avec lui, vous pouvez ajouter des types à votre JS, ce qui vous aidera à éviter de nombreux de bugs. Mais il peut aussi rester en dehors de votre chemin, par exemple lors de l'interfaçage de JS non typé. Essayez-le !
Démarrage rapide / TL;DR
Ajouter standard
comme une dépendance de votre projet
npm install --save standard
Ensuite, dans package.json
ajoutez le test suivant script :
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Pour une sortie plus élégante pendant le développement, npm install --global snazzy
et l'exécuter à la place de npm test
.
Note : Vérification de type contre Heuristique
Mon ami, lorsqu'il a mentionné l'espace de conception, a fait référence à Orme et je vous encourage à essayer cette langue.
Pourquoi ? JS est en fait inspiré par LISP, qui est une classe spéciale de langages, qui se trouvent être non typée . Un langage tel qu'Elm ou Purescript sont dactylographié les langages de programmation fonctionnelle.
Les types limitent votre liberté afin que le compilateur puisse vérifier et vous guider lorsque vous violez les règles du langage ou de votre propre programme, quelle que soit la taille (LOC) de votre programme.
Un collègue junior a récemment implémenté deux fois une interface réactive : une fois en Elm, une fois en React ; jetez-y un coup d'œil pour avoir une idée de ce dont je parle.
Comparez Main.elm
(dactylographié) index.js
(non typé, pas de tests)
(ps. notez que le code React n'est pas idiomatique et pourrait être amélioré)
Une dernière remarque,
la réalité est que JS es non typée. Qui suis-je pour suggérer programmation typée pour vous ?
Vous voyez, avec JS, nous sommes dans un domaine différent : libérés des types, nous pouvons facilement exprimer des choses qui sont difficiles ou impossibles à donner à un type approprié (ce qui peut certainement être un avantage).
Mais sans types, il n'y a pas grand-chose pour garder nos programmes sous contrôle, et nous sommes donc obligés d'introduire des tests et (dans une moindre mesure) des styles de code.
Je vous recommande d'examiner LISP (par ex. ClojureScript ) pour vous inspirer et investir dans l'essai de vos codes. Lire La voie de la sous-couche pour avoir une idée.
La paix.
5 votes
Et si ESLint ? Même si c'est imparfait :
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
Un paradoxe.0 votes
En rapport : scottlogic.com/blog/2011/03/28/jslint-vs-jshint.html
8 votes
Voici un bon comparaison des outils de référencement JavaScript : JSLint, JSHint, JSCS, et ESLint
1 votes
Je ne suis pas un développeur JS. Mais j'ai trouvé JSHint très utile pendant notre processus de révision du code. Je le recommande.