[Ruby on Rails] Codeprüfung mit Rubocop-Airbnb

Entwicklungsumgebung

ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina

Was ist RuboCop?

RuboCop ist ein statisches Code-Analyse-Tool, das prüft, ob Ruby-Code "gemäß Codierungsstandards geschrieben" ist.

Was ist Rubocop-Airbnb?

Dies ist eine Analyse, die von Airbnb erstellt wurde. Dieses Mal werden wir diese verwenden, um den Code zu überprüfen. Git ist wie folgt. https://github.com/airbnb/ruby/tree/master/rubocop-airbnb

Installation von "Rubocop-Airbnb"

Fügen Sie wie unten hinzu.

Gemfile


group :development do

...

  gem 'rubocop-airbnb'
end

Terminal


$ bundle install

Konfigurationsdatei erstellen

Unter dem Anwendungsordner Erstellen Sie die Dateien ".rubocop.yml" und ".rubocop_airbnb.yml". Geben Sie beim Erstellen dieser Dateien und Ordner an, für die Sie den Code nicht mit rubocop analysieren möchten.

:.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

Überprüfen Sie den Code mit Rubocop

Wechseln Sie im Terminal zum Anwendungsordner und führen Sie die folgenden Schritte aus.

Terminal


$ bundle exec rubocop --require rubocop-airbnb

...

50 files inspected, 150 offenses detected

Es wird so angezeigt. Dies bedeutet, dass wir 50 Dateien überprüft und 150 Codierungsverletzungen festgestellt haben. Wenn die Anzahl so groß wird, ist es schwierig, jede einzelne zu überprüfen. Führen Sie daher die folgenden Schritte aus.

Terminal


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

...

50 files inspected, 150 offenses detected, 150 offenses corrected

Er hat alle 150 auf diese Weise repariert. Ist die Korrektur immer noch nicht möglich, wird sie visuell überprüft.

Zusammenfassung

Auf diese Weise können Sie den Code einfach automatisch ändern. Es ist sehr praktisch, also benutzen Sie es bitte.

Auf Twitter werden auch Technologien und Ideen hochgeladen, die nicht auf Qiita hochgeladen wurden Ich wäre Ihnen dankbar, wenn Sie mir folgen könnten. Klicken Sie hier für Details https://twitter.com/japwork

Recommended Posts

[Ruby on Rails] Codeprüfung mit Rubocop-Airbnb
Hinweise zur Verwendung von FCM mit Ruby on Rails
[Ruby on Rails] Bild-Diashow mit Skippr
Ruby on Rails Elementary
Ruby on Rails Grundlagen
Ruby On Rails Association
Ruby on Rails Lernrekord -2020.10.03
Portfolioerstellung Ruby on Rails
Ruby on Rails Lernrekord -2020.10.04
[Ruby on Rails] Debuck (bindend.pry)
Ruby on Rails Lernrekord -2020.10.05
Ruby on Rails Lernrekord -2020.10.09
Ruby on Rails lernen Rekord-2020.10.07 ②
[Ruby on Rails] Gemeinsame Verarbeitung zwischen Controllern (unter Verwendung von Konkaven)
[Rails] Testcode mit Rspec
Ruby on Rails lernen Rekord-2020.10.07 ①
Brechen Sie die Ruby on Rails-Migration ab
Ruby on Rails Lernrekord -2020.10.06
Zusammenfassung der Ruby on Rails-Validierung
Ruby on Rails Grundlegendes Memorandum
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
Ruby on Rails Einstellung der automatischen E-Mail-Sendefunktion (über Google Mail)
<Punktinstallation> Einführung in Ruby on Rails5 Vergleich des Quellcodes
[Ruby on Rails] Geben Sie automatisch eine Adresse aus einer Postleitzahl ein
[Ruby on Rails] Einfache Scroll-Animation von Javascript (mit ScrollReveal.js)
[Ruby on Rails] Unendliches Scrollen mit Gem Kaminari und Jscroll
[Ruby on Rails] Leseversuch (: [],: Schlüssel)
Ruby on Rails-Variablen, konstante Zusammenfassung
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
[Ruby on Rails] Paging-Funktion eingeführt
Grundkenntnisse in Ruby on Rails
Progate Ruby on Rails5 Rückblick
Installieren Sie Ruby 2.5 unter CentOS 7 mit SCL
Verwendung von Ruby on Rails
Ruby on Rails Japanisch-Englisch kompatibler i18n
(Ruby on Rails6) Gepostete Inhalte "löschen"
[Ruby on Rails] CSV-Ausgabefunktion
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
[Ruby on Rails] Erstellung der Bestätigungsseite
Ruby On Rails entwickelt Routing-Konflikte
[Ruby on Rails] Implementierung der Kommentarfunktion
[Ruby on Rails] DM, Chat-Funktion
[Ruby on Rails] Praktische Hilfsmethode
Überprüfen Sie das Stammverzeichnis im Rails-Browser
[Ruby on Rails] Stoppen Sie "Looping bis ..."
Verstehen Sie die Codeabdeckung mit Rspec, dem Ruby on Rails-Testframework
[Ruby on Rails] Einführung der Anfangsdaten
[Ruby on Rails] Suchfunktion (nicht ausgewählt)
[Rails] Hinzufügen der Ruby On Rails-Kommentarfunktion
[Ruby on Rails] Erstellen eines Anfrageformulars
Ruby on Rails6 Praktischer Leitfaden cp13 ~ cp15 [Memo]
[Ruby on Rails] Test mit RSpec anzeigen