Avant-propos: Eh bien, cela a rapidement dégénéré. Mais j'ai décidé de passer au travers. Puisse cette réponse vous être utile, ainsi qu'à d'autres lecteurs.
Code Hinting
Bien que JSLint et JSHint soient de bons outils à utiliser, au fil des ans, j'ai appris ce que mon ami @ugly_syntax appelle:
espace de conception plus petit .
C'est un principe général, un peu comme un "moine zen", limitant les choix que l'on doit faire, on peut être plus productif et créatif.
Par conséquent, mon style de code JS zéro-configuration préféré actuel:
StandardJS .
MISE À JOUR :
Le débit s'est beaucoup amélioré. Avec lui, vous pouvez ajouter des types à votre JS avec vous aidera à éviter de nombreux bugs. Mais il peut également rester à l'écart, par exemple lors de l'interfaçage de JS non typé. Essaie!
Démarrage rapide / TL; DR
Ajouter en standard
tant que dépendance à votre projet
npm install --save standard
Ensuite package.json
, ajoutez le script de test suivant:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Pour une sortie plus brillante pendant le développement, npm install --global snazzy
et exécutez-le à la place de npm test
.
Remarque: vérification de type et heuristique
Mon ami en mentionnant Elm Design a fait référence à Elm 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 trouve être non typé . Des langages tels que Elm ou Purescript sont des langages de programmation fonctionnels typés .
Tapez restreindre votre liberté afin que le compilateur puisse vérifier et vous guider lorsque vous finissez par violer la langue ou les règles de votre propre programme; quelle que soit la taille (LOC) de votre programme.
Un collègue junior a récemment implémenté une interface réactive à deux reprises: une fois dans Elm, une fois dans React; jetez un oeil pour avoir une idée de ce dont je parle.
Comparer Main.elm
(tapé) ⇔ index.js
(non typé, aucun test)
(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 n'est pas typé. Qui suis-je pour vous proposer une programmation dactylographiée ?
Voyez, avec JS, nous sommes dans un domaine différent: libéré des types, nous pouvons facilement exprimer des choses difficiles ou impossibles à donner un type approprié (ce qui peut certainement être un avantage).
Mais sans types, il y a peu de choses à contrôler nos programmes, nous sommes donc obligés d'introduire des tests et (dans une moindre mesure) des styles de code.
Je vous recommande de vous inspirer de LISP (par exemple ClojureScript ) et d'investir dans le test de vos codes. Lire le chemin de la sous-pile pour se faire une idée.
Paix.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
, paradoxe.