Prefácio: Bem, isso aumentou rapidamente. Mas decidiu fazê-lo. Que esta resposta seja útil para você e outros leitores.
Dica de código
Embora o JSLint e o JSHint sejam boas ferramentas para usar, ao longo dos anos eu passei a apreciar o que meu amigo @ugly_syntax chama:
menor espaço de design .
Este é um princípio geral, bem como um "monge zen", limitando as escolhas que se deve fazer; pode-se ser mais produtivo e criativo.
Portanto, meu estilo de código JS favorito de configuração zero atual:
StandardJS .
ATUALIZAÇÃO :
O fluxo melhorou muito. Com ele, você pode adicionar tipos ao seu JS para ajudá-lo a evitar muitos bugs. Mas também pode ficar fora do seu caminho, por exemplo, ao fazer interface com JS não tipado. De uma chance!
Início rápido / TL; DR
Adicionar standard
como dependência ao seu projeto
npm install --save standard
Em seguida package.json
, adicione o seguinte script de teste:
"scripts": {
"test": "node_modules/.bin/standard && echo put further tests here"
},
Para uma saída mais sofisticada durante o desenvolvimento npm install --global snazzy
e execute-a em vez denpm test
.
Nota: Verificação de tipo versus heurística
Meu amigo, ao mencionar o espaço de design, se refere a Elm, e eu o encorajo a experimentar esse idioma.
Por quê? O JS é de fato inspirado no LISP, que é uma classe especial de linguagens, que por acaso não está tipada . Linguagens como Elm ou Purescript são linguagens de programação funcional digitadas .
Digite restringir sua liberdade para que o compilador possa verificar e guiá-lo quando você violar o idioma ou as regras do seu próprio programa; independentemente do tamanho (LOC) do seu programa.
Recentemente, um colega júnior implementou uma interface reativa duas vezes: uma vez em Elm, outra em React; dê uma olhada para ter uma idéia do que estou falando.
Comparar Main.elm
(digitado) ⇔ index.js
(sem tipo, sem testes)
(ps. observe que o código React não é idiomático e pode ser melhorado)
Uma observação final,
a realidade é que JS não é digitado. Quem sou eu para sugerir a programação digitada para você?
Veja, com JS, estamos em um domínio diferente: livres de tipos, podemos facilmente expressar coisas difíceis ou impossíveis de fornecer um tipo adequado (o que certamente pode ser uma vantagem).
Porém, sem tipos, há pouco para manter nossos programas sob controle, portanto somos forçados a apresentar testes e (em menor extensão) estilos de código.
Eu recomendo que você procure no LISP (por exemplo, ClojureScript ) para obter inspiração e invista no teste de seus códigos. Leia O caminho da sub-embalagem - para ter uma idéia.
Paz.
Combine this with the previous 'var' statement
->Do not mix 'require' and other declarations
paradoxo.