Credo! Um linter para elixir?

Continuando no tema de Elixir, hoje René Föhring lançou o Credo, um linter “que ensina”. Linters são programas que leem o código fonte e fazem uma análise mostrando potenciais problemas ou pontos de melhoria nesse código, desde formatação até coisas mais escopo de variáveis, etc.

No post de anúncio, René discorre sobre como as ferramentas do Elixir costumam dar as mensagens de erro de maneira informativa, apontando uma possível solução ao invés de apenas culpar o desenvolvedor. Ok, vez por outra ainda aparecem algumas mensagens criptografadas mas a tendência é melhorar cada vez mais.

Seguindo essa linha, o Credo busca dar mensagens bem didáticas, ainda com a opção de mostrar uma explicação mais detalhada sobre o item. Abaixo, segue um exemplo do que ele reportou num pet project que comecei hoje (por isso tão poucos erros😀 ):

  Warnings - please take a look                                                                                                                                                                 
┃ 
┃ [W] ↗ Parameter `k` has same name as a function in the same module.
┃       lib/raycifex/vector.ex:34:33 (Raycifex.Vector.scalar_mult)
┃ [W] ↗ There should be no calls to IO.inspect/1.
┃       lib/raycifex.ex:5:5 (Raycifex.main)
┃ [W] ↗ There should be no calls to IO.inspect/1.
┃       lib/raycifex.ex:6:5 (Raycifex.main)

Please report incorrect results: https://github.com/rrrene/credo/issues

Analysis took 0.1 seconds (0.06s to load, 0.04s running checks)
17 mods/funs, found 3 warnings.

Only considering priority objects: ↑ ↗ →  (use `--help` for options).

Dessas, apenas o ‘k’ repetido que assumo que realmente foi um desleixo, já que os inspect foram conscientes. Dado um aviso desses, você pode pegar o id do erro – isto é, o arquivo + linha/coluna – e rodar o credo novamente, para ver a explicação detalhada.

Para ver um exemplo mais abrangente e mais informações sobre o projeto, podem ver o post de anúncio, linkado acima.

o/

PS: Parabéns para René, tanto pela ferramenta como pelo nome escolhido, que permitiu a “piada” do título…


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s