Rubocop: Aprenda a manter a qualidade do seu código Ruby

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.

Ou adicione no seu Gemfile do projeto que você deseja analisar:

E instale rodando:

 

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:

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:

 

Corrigindo os erros

1 – Para que ele corrija todos os erros possíveis encontrados, rode no console:

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.

rubocop

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

Com rubocop

 

2 – Lista de palavras

Sem rubocop

Com rubocop

 

3 – Método vazio

Sem rubocop

Com rubocop

 

 

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:

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:

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:

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:

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.

Se você gostou desse conteúdo compartilhe com seus amigos o link do artigo e deixe um comentário ai dizendo se você já usa essa ferramenta ou se ficou inspirado para utiliza-la agora o/

 



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

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
🐦 • https://twitter.com/onebitcode

 

Nossos cursos:

🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
 ⚙  • 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!
E
stamos aqui para você 🙂

Bem-vindo à família OneBitCode o/

0 0 vote
Article Rating
janeiro 17, 2020
Subscribe
Notify of
guest
2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Khayan Malantrucco
1 ano atrás

Cara, que classe A!

Jonatas Moreira
1 ano atrás

Show! Parabéns pelo post!

Feito com s2 por OneBitCode
2
0
Would love your thoughts, please comment.x
()
x
%d blogueiros gostam disto: