Jshint: Opção de solicitação para suprimir ponto e vírgula

Criado em 15 set. 2011  ·  7Comentários  ·  Fonte: jshint/jshint

Oi,

Acabei de começar a usar o JSHint e ele encontrou vários problemas. No entanto, no meu estilo de codificação, parece que coloco ponto e vírgula em lugares onde não é necessário em JavaScript (um resquício da programação em outras linguagens onde é necessário, suponho).

Seria possível adicionar uma opção para suprimir mensagens como: "Linha 190 }; Ponto e vírgula desnecessário."

Obrigado.

Comentários muito úteis

Eu encontrei a opção de ignorar o aviso:
adicione o seguinte ao arquivo .jshintrc. Eu uso sublimelinter-jshint, funciona.

"-W032": false

https://jslinterrors.com/unnecessary-semicolon
http://kuljit.co.uk/configuring-jshint-with-a-jshintrc-configuration-file/

Todos 7 comentários

Gostaria de ver seu código. Basicamente, se um ponto e vírgula é desnecessário em JS, é desnecessário em todas as outras linguagens como C. Provavelmente. Sente-te à vontade para me provar que estou errado.

O JSHint está aqui para ajudá-lo a corrigir erros como esse, não para ignorá-los.

a) "Outras linguagens", não "outras linguagens semelhantes a C".

b) Não é um erro. Ele roda bem em todos os navegadores que testei. Até mesmo o sentido da mensagem "ponto e vírgula desnecessário", em vez de dizer "ponto e vírgula inválido", diz que não é um erro. Não é o objetivo do JSHint fazer testes para não erros selecionáveis ​​pelo programador? Não é por isso que o JSHint foi bifurcado do JSLint em primeiro lugar?

É então o caso de um programa do tipo Lint que força você a adicionar "{" e "}" quando não for necessário é ruim, mas que força você a remover ";" quando não é necessário é bom? De quem deve ser a escolha?

Sim, não é um erro. O navegador simplesmente o analisa como uma instrução vazia.

Sim, você está certo, devemos apenas adicionar uma opção para aceitar qualquer código e dizer que funciona bem.

Sério cara, para que você está usando o JSHint senão para pegar pequenos erros que o navegador não pega?

Ah sim, e puramente por curiosidade, a quais idiomas você está acostumado? Não consigo pensar em uma linguagem com ponto e vírgula que não seja semelhante a C.

O objetivo do JSHint é pegar todos os tipos de erros para você, no entanto, se uma pessoa acredita que sabe melhor – mais poder para ela. Estou trabalhando para permitir que as pessoas desativem qualquer aviso no JSHint enquanto forneço um conjunto de padrões muito seguro (e rigoroso).

@alpha123 , eu sinto você, mas pessoas diferentes usam a ferramenta para propósitos diferentes. Se alguém quiser usá-lo _somente_ para detectar vazamentos globais - bem, não tenho nada contra essa abordagem, mesmo que eu mesmo não a adote.

@SidNM , Obrigado pelo ticket. Estou fechando porque já estou trabalhando em uma solução que incorpore o que foi perguntado aqui.

"Não consigo pensar em uma linguagem com ponto e vírgula que não seja C-like"
bem aqui está um: Delphi (Pascal)

Isso já foi implementado? Já tem quase três anos e continuo com o mesmo problema. Se a solução abrangente não chegar tão cedo, a solução simples poderia ser implementada nesse meio tempo? Quero desabilitar os avisos de ponto e vírgula desnecessários globalmente, mas deixar os avisos cruciais de ponto e vírgula ausentes que podem causar problemas reais.

Eu encontrei a opção de ignorar o aviso:
adicione o seguinte ao arquivo .jshintrc. Eu uso sublimelinter-jshint, funciona.

"-W032": false

https://jslinterrors.com/unnecessary-semicolon
http://kuljit.co.uk/configuring-jshint-with-a-jshintrc-configuration-file/

Esta página foi útil?
0 / 5 - 0 avaliações