[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb

Environnement de développement

ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina

Qu'est-ce que RuboCop?

RuboCop est un outil d'analyse de code statique qui vérifie si le code ruby est écrit selon les normes de codage.

Qu'est-ce que rubocop-airbnb?

Il s'agit d'une analyse créée par airbnb, et cette fois, nous l'utiliserons pour vérifier le code. git est comme suit. https://github.com/airbnb/ruby/tree/master/rubocop-airbnb

Installation de "Rubocop-airbnb"

Ajoutez comme ci-dessous.

Gemfile


group :development do

...

  gem 'rubocop-airbnb'
end

Terminal


$ bundle install

Créer un fichier de configuration

Sous le dossier de l'application Créez les fichiers ".rubocop.yml" et ".rubocop_airbnb.yml". En les créant, spécifiez les fichiers et dossiers dont vous ne souhaitez pas analyser le code avec rubocop.

:.rubocop.yml


inherit_from:
  - .rubocop_airbnb.yml

AllCops:
  Exclude:
    - 'db/**/*'
    - 'bin/*'
    - 'config/environments/*'
    - 'config/application.rb'
    - 'config/initializers/*'
    - 'config/spring.rb'
    - 'lib/tasks/*'
    - 'vendor/**/*'
    - 'path/ruby'

:.rubocop_airbnb.yml


require:
  - rubocop-airbnb

Vérifiez le code avec Rubocop

Dans le terminal, accédez au dossier de l'application et exécutez ce qui suit.

Terminal


$ bundle exec rubocop --require rubocop-airbnb

...

50 files inspected, 150 offenses detected

Il sera affiché comme ceci. Cela signifie que nous avons vérifié 50 fichiers et trouvé 150 violations de codage. Lorsque le nombre devient énorme comme ça, il est difficile de vérifier chacun d'eux, alors exécutez ce qui suit.

Terminal


$ bundle exec rubocop --require rubocop-airbnb -a

...

50 files inspected, 150 offenses detected, 150 offenses corrected

Il a réparé les 150 de cette manière. Si la correction n'est toujours pas possible, elle sera vérifiée visuellement.

Résumé

De cette façon, vous pouvez facilement modifier automatiquement le code. C'est très pratique, alors veuillez l'utiliser.

De plus, sur Twitter, les technologies et les idées qui n'ont pas été téléchargées sur Qiita sont également téléchargées, donc Je vous serais reconnaissant si vous pouviez me suivre. Cliquez ici pour plus de détails https://twitter.com/japwork

Recommended Posts

[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb
Remarques sur l'utilisation de FCM avec Ruby on Rails
[Ruby on Rails] Diaporama d'images utilisant Skippr
Ruby on Rails élémentaire
Principes de base de Ruby on Rails
Association Ruby On Rails
Record d'apprentissage de Ruby on rails -2020.10.03
Création de portfolio Ruby on Rails
Record d'apprentissage Ruby on rails -2020.10.04
[Ruby on Rails] Debuck (binding.pry)
Record d'apprentissage de Ruby on rails -2020.10.05
Record d'apprentissage de Ruby on rails -2020.10.09
Record d'apprentissage Ruby on rails-2020.10.07 ②
[Ruby on Rails] Traitement commun entre les contrôleurs (à l'aide de concerts)
[Rails] Code de test à l'aide de Rspec
Record d'apprentissage Ruby on rails-2020.10.07 ①
Annuler la migration de Ruby on Rails
Record d'apprentissage de Ruby on rails -2020.10.06
Résumé de la validation Ruby on Rails
Mémorandum de base Ruby on Rails
Essayez d'utiliser l'attribut de requête Ruby on Rails
Ruby on Rails Paramètre de la fonction d'envoi automatique des e-mails (avec Gmail)
<Installation de points> Introduction à Ruby on Rails5 Comparaison du code source
[Ruby on Rails] Saisissez automatiquement une adresse à partir d'un code postal
[Ruby on Rails] Animation de défilement facile de javascript (en utilisant ScrollReveal.js)
[Ruby on Rails] Défilement infini à l'aide de gem kaminari et jscroll
[Ruby on Rails] Read try (: [] ,: key)
Variables Ruby on Rails, résumé constant
Installation de Ruby + Rails sur Ubuntu 18.04 (rbenv)
[Ruby on Rails] Introduction de la fonction de pagination
Connaissance de base de Ruby on Rails
Progatez Ruby on Rails
Installez Ruby 2.5 sur CentOS 7 en utilisant SCL
Comment utiliser Ruby on Rails
Ruby on Rails compatible japonais-anglais i18n
(Ruby on Rails6) "Effacer" le contenu publié
[Ruby on Rails] Fonction de sortie CSV
Mémo de construction de l'environnement Ruby on Rails 6.0
[Ruby on Rails] Création de la page de confirmation
Ruby On Rails conçoit un conflit de routage
[Ruby on Rails] Implémentation de la fonction de commentaire
[Ruby on Rails] DM, fonction de chat
[Ruby on Rails] Méthode d'aide pratique
Vérifiez la racine sur le navigateur Rails
[Ruby on Rails] Arrêtez de "boucler jusqu'à ce que ..."
Comprendre la couverture du code avec Rspec, le framework de test Ruby on Rails
[Ruby on Rails] Introduction des données initiales
[Ruby on Rails] Fonction de recherche (non sélectionnée)
[Rails] Ajout de la fonction de commentaire Ruby On Rails
[Ruby on Rails] Création d'un formulaire de demande
Ruby on Rails6 Guide pratique cp13 ~ cp15 [Mémo]
[Ruby on Rails] Afficher le test avec RSpec