
Você segue os melhores padrões de código no seus projetos? Pode ser realmente desafiante manter os códigos fáceis de ler e de dar manutenção se a gente não seguir os style guides, mas se lembrar das centenas de regras de um bom código também não é tão fácil assim.
Nesse artigo você vai conhecer uma ferramenta que vai te ajudar a manter os padrões sem que você precise decorar todas as regras, então vem com a gente.
O que é o RuboCop?
RuboCop é uma gem que analisa se seu código tem algum erro de sintaxe e se sua formatação está de acordo com as boas práticas do guia de estilo Ruby.
Utilizando essa gem em seus projetos e no seu editor de textos você seguirá as boas práticas da linguagem deixando seu projeto muito mais profissional e fácil de dar manutenção.
O que são Cops?
A gem Rubocop verifica inúmeros tipos ofensas no seu código (códigos fora do padrão), cada ofensa é verificada por um agente que ela dá o nome de Cop (policial).
Ela também dividi os Cops em departamentos (Style Cops, Layout Cops, Lint Cops e etc) que agrupam os Cops por categorias de ofensas e o mais interessante é que você pode habilitar ou desabilitar cada um desses Cops individualmente.
Para ver a lista completa clique aqui.
O que vamos aprender
- Como instalar
- Como analisar códigos com o Rubocop
- Como usar o Rubocop com o VS Code
- Exemplos de uso
- Como usar no Windows
- Onde configurar
Ferramentas que vamos usar
- Ruby
- RuboCop Gem
- Vs Code (você pode usar o que desejar)
Instalando o Rubocop
No seu terminal, instale a gem rodando.
1 |
gem install rubocop |
Ou adicione no seu Gemfile do projeto que você deseja analisar:
1 2 3 |
group :development do gem 'rubocop', require: false end |
E instale rodando:
1 |
bundle install |
Analisando os códigos com Rubocop
Agora nós veremos como verificar de forma estática as ofensas em um arquivo ou projeto Ruby e como utilizar o rubucop para corrigir essas ofensas de forma automática.
Analisando um arquivo isolado
1 – Para analisar um arquivo isolado, rode no console:
1 |
rubocop arquivo_desejado.rb |
Ele irá escanear o código e mostrar no output todos os possíveis erros e como corrigí-los.
Analisando um Projeto
1 – Vá no diretório do seu projeto (qualquer projeto ruby que você possua), e digite no terminal:
1 |
rubocop |
Corrigindo os erros
1 – Para que ele corrija todos os erros possíveis encontrados, rode no console:
1 |
rubocop -a |
Obs: Caso deseja corrigir os erros de um único arquivo, adicione o path até ele.
RuboCop com VS Code
Agora vamos aprender como instalar e utilizar o Rubocop dentro do Vs Code.
1 – Dentro do editor, vá em extensões e busque por rubocop.
2 – Faça a instalação e recarregue o VS Code.
3 – Pronto, agora o Rubocop vai gerar highlights sobre os códigos com erro ou fora do padrão.
4 – Em um arquivo com os highlights você pode apertar Shift + Alt + F
ou com o botão direito clicar em format document para ele automaticamente corrigir tudo o que for possível.
Obs: Lembrando que para funcionar, precisa ter a gem instalada.
Exemplos de uso
Alguns exemplos que gosto de mostrar, são coisas que aprendi do Ruby utilizando essa gem:
1 – If de uma linha
Sem rubocop
1 2 3 |
if 10 > 5 puts 'Maior' end |
Com rubocop
1 |
puts 'Maior' if 10 > 5 |
2 – Lista de palavras
Sem rubocop
1 |
paises = ['Brasil', 'México', 'Canadá', 'Alemanha'] |
Com rubocop
1 |
paises = %w[Brasil México Canadá Alemanha] |
3 – Método vazio
Sem rubocop
1 2 |
def index end |
Com rubocop
1 |
def index; end |
VS Code com Windows Subsystem for Linux
Se você usa Windows Subsystem for Linux, precisa explicitar onde está instalada a gem para o VS Code reconhecê-la.
1 – Faça uma nova pasta no windows em C:\my_scripts
e crie rubocop.bat
dentro dela.
2 – Coloque no arquivo criado:
1 2 |
@echo off bash.exe -c "~/.rvm/gems/ruby-2.5.1/wrappers/rubocop %*" |
Obs: Lembre-se de passar a versão do ruby que está instalada. Para saber qual versão do ruby está utilizando, digite ruby -v
dentro do bash linux.
3 – Vá no VS Code, preferências, e acrescente no JSON de configuração:
1 |
"ruby.rubocop.executePath": "c:/my_scripts/", |
4 – Pronto o/
Editando as configurações do RuboCop
Caso você não queira que o rubocop verifique algum conjunto de arquivos ou deseje mudar alguma configuração nos Cops e etc você pode criar na raíz do seu projeto um novo arquivo chamado .rubocop.yml
e dentro dele customizar o uso do rubocop.
Um exemplo de .rubocop.yml seria:
1 2 3 4 5 |
AllCops: Exclude: - 'db/**/*' - 'config/**/*' - 'libs/**/*' |
Aqui nós estamos desabilitando todas as regras do rubocop para os arquivos dos diretórios db, config e libs.
Obs: Um detalhe importante, os Cops responsáveis por checar os detalhes do Ruby On Rails não ficam habilitados pode default, então se você precisa deles, adicione ao .rubocop.yml:
1 2 |
Rails: Enabled: true |
Consulte a documentação para saber mais sobre como configurar esse arquivo.
Conclusão
Ao utilizar a gem Rubocop você não só adiciona qualidade ao seu projeto, como também aprende mais sobre a linguagem Ruby e seus padrões de uso e nesse artigo nós aprendemos o passo a passo de como utiliza-la.

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • ang dating daan suspended
Nossos cursos:
🥇 • is there another dating site like pof
💎 • https://onebitcode.com/best-online-christian-dating-websites/
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/
Cara, que classe A!
Show! Parabéns pelo post!