Closed yrachid closed 6 years ago
Ponto e vírgula é uma decisão polêmica. Muitas pessoas gostariam de não utilizá-lo (incluindo eu), mas, no entanto, ele é necessário, pois o JavaScript possui alguns bugs quando ele está ausente, como, por exemplo:
const sum = (a, b) => {
return
{
result: a + b
}
}
const result = sum(1, 3)
console.log(result)
O resultado esperado seria:
{result: 4}
No entanto, temos:
undefined
Outro exemplo:
const a = 5
const b = 10
const c = a + b
[1, 2, 3].forEach((e) => console.log(e))
Causará o erro:
TypeError: Cannot read property 'forEach' of undefined
Artigo de onde tirei os exemplos.
No caso do primeiro exemplo, o problema não é a falta do ;
, mas sim a quebra de linha no return
. Para corrigir o problema teríamos que alterar o código para o seguinte:
const sum = (a, b) => {
return {
result: a + b
}
}
const result = sum(1, 3)
console.log(result)
Esta PR adiciona e configura o Eslint, uma ferramenta utilizada para auxiliar na manutenção dos padrões de código do projeto. Em outras palavras, ela serve para monitorar e garantir que o código está dentro dos padrões de estilo definido pelo time, onde padrões de estilo significa coisas como:
console.log
As regras estão definidas no arquivo
.eslintrc.json
.Agora, quando executamos
npm run lint
, teremos um pequeno relatório com todos os erros que o eslint encontrou no código da aplicação. Eis o resultado quando executei no projeto:De acordo com as regras que foram definidas, existem mais de mil problemas. Podemos corrigir estes problemas usando
npx eslint --fix src/ test
, no entanto, como literalmente todos os arquivos do projeto serão modificados, não acho que essa seja uma boa ideia, já que o diff disso será imenso e os conflitos serão impossíveis de resolver. Por isso, gostaria de introduzir primeiramente a configuração do linter e, então, criar PRs pequenas que corrigem poucos arquivos de cada vez.