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/




Você é novo por aqui?

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 outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente! Seja por Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

janeiro 17, 2019

2
Deixe um comentário

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Jonatas MoreiraKhayan Malantrucco Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Khayan Malantrucco
Visitante

Cara, que classe A!

Jonatas Moreira
Membro
Jonatas Moreira

Show! Parabéns pelo post!

Feito com s2 por OneBitCode
%d blogueiros gostam disto: