Usando RuboCop com Ruby e Rails

Tutoriais - 24/Jul/2019 - por Henrique Morato

Muitas empresas têm seu guia de como escrever um código ou tratar classes e métodos, mas poucas linguagens possuem uma diretriz tão presente como Ruby. Ainda que você seja dev experiente, talvez não conheça um comando em Ruby que fornece um guia de diretrizes de como escrever código na linguagem: o ruby -w. No entanto, ele não é tão difundido como outras ferramentas similares a ele, mas para outras linguagens, como Python, por exemplo. Boas práticas são reforçadas pelos programadores mais que pela linguagem em si. Mesmo passando por várias empresas, o estilo de escrever código Ruby sempre permanece o mesmo.

Com o intuito de manter o padrão vivo e fácil de ser verificado, nasceram alguns guias de estilo e ferramentas. Com esse intuito Bozhidar Batsov criou o RuboCop.

O RuboCop é uma gem de código Ruby que verifica e analisa erros de sintaxe, boas práticas da comunidade e linguagem (o RuboCop implementa quase todas as funcionalidades do ruby -w) e o uso de muitas ramificações em tomadas de decisão (ABC score), entre outras checagens.

A instalação pode ser feita na própria máquina, usando o comando gem install rubocop e pronto! No entanto, é muito comum vermos a instalação diretamente no projeto. Se ele faz uso de um Gemfile, você pode simplesmente incluir no seu arquivo de dependências as linhas abaixo:

group :development do
  gem 'rubocop', require: false
end

Em seguida, é claro, basta rodar um bundle install para fazer a instalação.

Com algumas das opções instaladas podemos executar o comando rubocop no Terminal.

Também é possivel rodar o comando para um ou mais arquivos seguindo a sintaxe: rubocop um_arquivo.rb outro_arquivo.rb rubocop uma_pasta outra_pasta.

código gerado pelo RuboCop

Provavelmente você verá diversos erros na tela e uma dica de como corrigi-los.

Se você usa Rails, siga as instruções do rubocop-rails para carregar essas configurações no RuboCop.

Dica: se você tem muitos erros, pode rodar o comando rubocop --auto-gen-config. Ele vai criar um arquivo chamado .rubocop_todo.yml com todos os erros encontrados. Os passos para usar esse arquivo podem ser encontrados em Configurando arquivos .rubocop.yml ou na documentação oficial.

O comando rubocop -a resolve os problemas mais comuns automaticamente. Mas, se é a primeira vez que você usa a ferramenta ou ainda não usa boas práticas, não recomendamos o uso deste comando. Quanto mais usamos o RuboCop e resolvemos manualmente suas recomendações, mais elas se tornam parte da forma como escrevemos código.

Você também pode conferir os guias de estilo usados pelo RuboCop nos links abaixo:

That's all folks!

Foto de perfil do autor
Henrique Morato

Dev