Prefacio: Bueno, eso se intensificó rápidamente. Pero decidió sacarlo adelante. Que esta respuesta sea útil para usted y otros lectores.
Sugerencia de código
Si bien JSLint y JSHint son buenas herramientas para usar, a lo largo de los años he llegado a apreciar lo que mi amigo @ugly_syntax llama:
Espacio de diseño más pequeño .
Este es un principio general, al igual que un "monje zen", que limita las elecciones que uno tiene que hacer, uno puede ser más productivo y creativo.
Por lo tanto, mi estilo de código JS de configuración cero favorito actual:
StandardJS .
ACTUALIZACIÓN :
El flujo ha mejorado mucho. Con él, puede agregar tipos a su JS con lo que le ayudará a prevenir muchos errores. Pero también puede mantenerse fuera de su camino, por ejemplo, cuando se interconecta JS sin tipo. ¡Darle una oportunidad!
Inicio rápido / TL; DR
Agregar standard
como dependencia a su proyecto
npm install --save standard
Luego package.json
, agregue el siguiente script de prueba:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Para la salida snazzier mientras que el desarrollo, npm install --global snazzy
y ejecutarlo en lugar de npm test
.
Nota: Verificación de tipo versus Heurística
Mi amigo cuando mencionó el espacio de diseño se refirió a Elm y le animo a que pruebe ese idioma.
¿Por qué? De hecho, JS está inspirado en LISP, que es una clase especial de idiomas, que no tiene tipo . Lenguajes como Elm o Purescript son lenguajes de programación funcional escritos .
Escriba restringir su libertad para que el compilador pueda verificar y guiarlo cuando termine violando el lenguaje o las reglas de su propio programa; independientemente del tamaño (LOC) de su programa.
Recientemente, un colega junior implementó una interfaz reactiva dos veces: una vez en Elm, una vez en React; Eche un vistazo para tener una idea de lo que estoy hablando.
Compare Main.elm
(escrito) ⇔ index.js
(sin tipo, sin pruebas)
(Nota: el código React no es idiomático y podría mejorarse)
Un comentario final
La realidad es que JS no está tipificado. ¿Quién soy para sugerirte programación escrita ?
Verá, con JS estamos en un dominio diferente: liberados de los tipos, podemos expresar fácilmente cosas que son difíciles o imposibles de dar a un tipo adecuado (lo que ciertamente puede ser una ventaja).
Pero sin tipos hay poco para mantener nuestros programas bajo control, por lo que nos vemos obligados a introducir pruebas y (en menor medida) estilos de código.
Le recomiendo que mire LISP (por ejemplo, ClojureScript ) en busca de inspiración e invierta en probar sus códigos. Lea El camino del subgrupo para hacerse una idea.
Paz.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
, paradoja.