Rubocop est un outil d'analyse de code statique pour Ruby. ruby-style-guide signalera les corrections et améliorations apportées au code source.
De plus, les écarts d'indentation, les espaces inutiles, les sauts de ligne, etc. sont automatiquement corrigés en tapant une commande spécifique, de sorte que vous pouvez formater le code pour qu'il soit facile à lire aussi bien que pour les autres. pouvez.
gemfile
gem 'rubocop', require: false
Terminal
bundle install
Terminal
bundle exec rubocop
Lors de l'exécution, vous obtiendrez une sortie similaire à ce qui suit:
Ce sont les correctifs détectés par Rubocop. Cependant, si vous suivez toutes les règles par défaut, vous aurez trop à vous soucier lors de l'écriture du code, vous pouvez donc définir les règles que vous et votre équipe autorisez.
Dans le répertoire des applications Créez un fichier appelé .rubocop.yml et écrivez-y les paramètres.
.rubocop.yml
AllCops:
#Définissez les répertoires à exclure. Par exemple, les fichiers de schéma et de migration sont rarement réécrits et ne sont donc pas détectés.
Exclude:
- bin/*
- db/schema.rb
- node_modules/**/*
- db/migrate/*
- vendor/**/*
#Vérifier les rails
Rails:
enabled: true
# "Missing top-level class documentation comment."Désactiver
Style/Documentation:
Enabled: false
# "Prefer single-quoted strings when you don't need string interpolation or special symbols."Désactiver
Style/StringLiterals:
Enabled: false
# "Line is too long"Désactiver
Metrics/LineLength:
Enabled: false
#'frozen_string_literal: true'Désactiver
Style/FrozenStringLiteralComment:
Enabled: false
Différents réglages tels que possibles. Je vais jouer avec lui en me référant aux Paramètres par défaut.
Après le réglage, à nouveau
Terminal
bundle exec rubocop
Ensuite, vous pouvez voir que 72files est 56files, ce qui est moins qu'avant.
Terminal
bundle exec rubocop --auto-gen-config
Un fichier appelé .rubocop.todo.yml est généré automatiquement. Cela invalidera temporairement toutes les modifications. Si vous exécutez rubocop ici, il n'y aura aucune correction.
ruby:.rubocop.todo.yml
# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
Bundler/OrderedGems:
Exclude:
- 'Gemfile'
A titre d'exemple, il y a la description ci-dessus. Si vous supprimez cette description, les corrections invalides de la pièce concernée seront restaurées. Je vais le réparer immédiatement, mais
Cop supports --auto-correct.
S'il y a une description, Rubocop la corrigera automatiquement avec la commande suivante.
#### **`Terminal`**
```python
bundle exec rubocop -a
Cette fois, la description de la gemme dans le Gemfile n'est pas dans l'ordre alphabétique, mais elle est réorganisée dans le bon ordre.
bundle exec rubocop --auto-gen-config et Générez `` .rubocop.todo.yml
.Sur le terrain, il est automatisé et il semble que vous ne le réparerez pas vous-même, Je suis encore un débutant, je vais donc améliorer chacun d'eux et vérifier les règles. J'essaie d'être un ingénieur capable d'écrire du code facile à lire dès le début.
Recommended Posts