3.3 KiB
title | localeTitle |
---|---|
Rubocop | Rubocop |
Rubocop é uma ferramenta de análise estática para Ruby O que isto significa? Significa Rubocop vontade de 'ler' o seu código (ao invés de executá-lo, daí a parte 'estática' do nome), e analisá-lo. As regras de análise usadas pelo Rubocop são do Guia de estilo da comunidade Ruby .
O guia de estilo é um conjunto de sugestões específicas sobre como escrever código que é mais legível, mais expressivo e mais convencional. Como uma comunidade, seria ótimo se pudéssemos ler o código de qualquer outra pessoa facilmente, e eles poderiam leia o nosso facilmente. É isso que o Rubocop nos ajuda a fazer. Esse tipo de ferramenta é sempre valioso, mas é particularmente útil quando você está aprendendo Ruby, e você pode codificar o que é correto , mas que não se ater às convenções Ruby, ou não aproveita alguns dos recursos mais poderosos do Ruby.
Mais útil, o Rubocop pode corrigir automaticamente muitos dos menores avisos - como espaçamento incorreto. Isso é muito útil antes da revisão do código, já que significa colegas desenvolvedores podem se concentrar em preocupações de nível mais alto, e não ter que desperdiçar tempo em problemas de sintaxe.
Usando Rubocop
Instalação
Rubocop é entregue como uma Gem, então em um projeto típico que usa Bundler você gostaria de adicioná-lo à seção de desenvolvimento do seu Gemfile
:
group :development do
gem rubocop
end
Isso significa que qualquer um usando seu projeto terá a mesma versão do Rubocop, e todos concordarão sobre qual é a melhor prática atual.
Uso
Antes de cada confirmação, gostaria de verificar se meu código recém-modificado está em conformidade o padrão comunitário, simplesmente executando:
rubocop
Isto irá mostrar uma lista de avisos sobre o seu código.
Pode ser útil pedir mais ajuda a Rubocop:
rubocop --extra-details --display-cop-names
(Você pode adicioná-los a um arquivo .rubocop
para torná-los padrão.)
Muitos editores permitirão que você integre o Rubocop, o que pode dar feedback quando você está escrevendo código.
Corrigindo problemas
Digamos que eu tenha escrito algum novo código; antes de comê-lo, eu poderia decidir verifique se segue as diretrizes:
rubocop <my new file>
Eu posso editar fazer as alterações sugeridas manualmente, ou posso pedir ao Rubocop para corrigir pequenos problemas automaticamente:
rubocop --auto-correct
Correndo apenas certos policiais
Cada diretriz da comunidade é implementada em um 'policial' do Rubocop. Ao trabalhar em um codebase legado você pode ser inundado com avisos ao introduzir o Rubocop. Neste caso, pode ser útil executar apenas um único policial ao longo do codebase, e verificar essas mudanças antes de passar para a próxima diretriz, para exemplo:
rubocop --auto-correct --only 'Layout/EmptyLineAfterMagicComment'
Integração do Editor de Texto
O Rubocop pode ser integrado ao Vim, ao Visual Studio Code, ao Atom e a outros editores de texto. Uma lista completa pode ser encontrada aqui .