Rubocop

参考:

RuboCop – The Ruby Linter that Serves and Protects [Official]

rubocop-hq/rubocop: A Ruby static code analyzer and formatter, based on the community Ruby style guide – GitHub

ドキュメント

参考:

Basic Usage | RuboCop [Official]

rubocop/configuration.md at master · rubocop-hq/rubocop – GitHub

ルール

参考:

Rails Cops [Official]

使い方

参考:

Rubocop を使ってコーディング規約に準拠させる方法 | vdeep

Rubocop を使ってコーディングルールへの準拠チェックを自動化 – Qiita

RuboCop で Ruby コードのスタイルガイド準拠度をチェックしましょう | Sider Blog

RuboCop を Rails オプションや Lint オプションで使ってみよう | Sider Blog

RuboCop でコーディングスタイルを矯正する | momota.txt

RuboCop を無理なく既存プロジェクトに導入する | FiNC Tech Blog

初心者が Rails + Devise で Todo アプリ作る Rubocop・RSpec・Travis CI | freedom-man

概要

参考:

RuboCop の設定アレコレ – Qiita

Rubocop との付き合い方 | SlideShare

スタイルガイド

参考:

Ruby スタイルガイドを読む ブロック、proc | TechRacho

The Ruby Style Guide (rubystyle.guide)

The Rails Style Guide (rails.rubystyle.guide)

rubocop-hq/ruby-style-guide: A community-driven Ruby coding style guide – GitHub

rubocop-hq/rails-style-guide: A community-driven Ruby on Rails style guide – GitHub

ruby-style-guide/README.ja.md at japanese · fortissimo1997/ruby-style-guide – GitHub

rails-style-guide/README-jaJA.md at master · satour/rails-style-guide – GitHub

Relaxed Ruby Style (relaxed.ruby.style)

ルール設定

参考:

RuboCop を調教、規約よりも速度優先な rubocop.yml を試してみよう | Sider Blog

Rubocop がチェックしてくれるもの一覧表 Style 編 – Qiita

RuboCop の設定アレコレ – Qiita

自作アプリに rubocop のデフォルト設定を適用した | YOSHINO 日記

Include / Exclude

参考:

Including/Excluding files – Configuration | RuboCop [Official]

Cop-specific Include and Exclude – Configuration | RuboCop [Official]

Disable a cop for a specific directory · Issue #3694 · rubocop-hq/rubocop – GitHub

How to tell Rubocop to ignore a specific directory or file – Stack Overflow

Include の指定

参考:

RuboCop をアップデートしたら対象ファイル数が2つだけになった話 – Qiita

Formatters

違反項目が多い順にファイル名を表示する。

$ rubocop -f worst

参考:

Formatters | RuboCop [Official]

比較

参考:

RuboCop vs Rails Best Pratices それぞれの特徴。初心者はどう使う? | Sider Blog

pre-commit を使って git commit 直前に rubocop を自動実行する

参考:

pre-commit gem で git commit に連動して Rubocop を実施する|Developers.IO

jish/pre-commit: A slightly improved pre-commit hook for git – GitHub

フォーマッター

参考:

RuboCop 作者が Ruby コードフォーマッタを比較してみた 前編 翻訳 | TechRacho

ネストしたクラス・モジュールの定義

参考:

ネストした Module / Class を Ruby で定義する時のコーディングスタイルの話。| Sooey

Layout/TrailingBlankLines

参考:

Make new cop aware of no newline at end of file · Issue #31 · rubocop-hq/rubocop-jp – GitHub

Style/MultilineBlockChain

参考:

How to avoid Multiline block chains? What is the recommended style? · Issue #2338 · rubocop-hq/rubocop – GitHub

Metrics/LineLength

参考:

ruby で複数行の文字列 – Qiita

A Cheatsheet for Multi-line Strings in Ruby | Cmdr Coriander

Multiline strings – Heredoc or quotes – My Daily Technical Notes

Multiline strings in Ruby 2.3 – the squiggly heredoc | Infinum

Can I write multi-line string with no concatenation? – Stack Overflow

Metrics/AbcSize

参考:

Metrics/AbcSize – Metrics Cops | RuboCop

Rubocop の Metrics AbcSize チェックについて – Qiita

RuboCop の ABC Size チェックについて調べた | 毒シューマイ

Abc Metric | Wiki Wiki Web

Security/Open

Kernel.#open を使わずに、用途に応じて open を使い分ける。

  • File.open("path/to/file")
  • IO.popen("program arg1 arg2 arg3")
  • URI.parse("https://example.com/path/to/document").open

参考:

Security/Open – Security Cops – RuboCop [Official]

rubocop-rails

参考:

rubocop-hq/rubocop-rails: A RuboCop extension focused on enforcing Rails best practices and coding conventions – GitHub

rubocop-rails | RubyGems.org

Documentation for rubocop-rails | RubyDoc.info

rubocop-performance

参考:

rubocop-hq/rubocop-performance: An extension of RuboCop focused on code performance checks – GitHub

rubocop-performance | RubyGems.org

erb-lint

参考:

Shopify/erb-lint: Lint your ERB or HTML files – GitHub

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です