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.
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/
Comentários muito úteis
Eu encontrei a opção de ignorar o aviso:
adicione o seguinte ao arquivo .jshintrc. Eu uso sublimelinter-jshint, funciona.
https://jslinterrors.com/unnecessary-semicolon
http://kuljit.co.uk/configuring-jshint-with-a-jshintrc-configuration-file/