

C#やPerlを使っていた頃はStyleCop, FxCop, Perl::Critic, Perltidy等でコードを自動的にチェックしていました。

RubyやRailsでも同じようなツールはありますか？

Googleで検索してみましたが、これというツールが見つかりませんでした。

* * *

注：この質問は過去に英語版に投稿した質問を転記したものです。
<https://stackoverflow.com/questions/9103874/coding-style-checker-or-code-
formatter-for-ruby-rails>


CC BY-SA 4.0
2014-11-25T22:50:07.980
189
2020-05-01T07:53:29.573
2020-05-01T07:53:29.573
32986
85
question
ruby ruby-on-rails
RubyやRailsのコーディングチェックツールを探しています


IDEであるIntelliJ(RubyMine)を使えば、コーディングスタイルについての問題をエディタ上で確認できます。


CC BY-SA 3.0
2014-11-26T04:20:56.627
196
2014-11-26T04:20:56.627
63
189
answer


[RuboCop](https://github.com/bbatsov/rubocop) がオススメです。Rails に特化したチェッカもついています。


CC BY-SA 3.0
2014-12-02T00:20:34.183
206
2014-12-02T00:20:34.183
167
189
answer


Railsらしいコードかどうかは、[railsbp/rails_best_practices](https://github.com/railsbp/rails_best_practices)というgemを使うとチェックできます。


CC BY-SA 3.0
2014-12-02T04:49:34.033
227
2014-12-02T04:49:34.033
511
189
answer


オンラインのサービスに登録すると、単純な書式に限らないコードのチェックとレポート作成を自動的に行なってくれるものがあります。
内部的にはRubocopなども使われていますが、セットアップが要らないので手軽です。

  * <https://codeclimate.com/>
  * <https://scrutinizer-ci.com/>


CC BY-SA 3.0
2014-12-02T06:34:20.620
239
2014-12-02T06:34:20.620
452
189
answer


GitHub 上のプロジェクトであれば、[HoundCI](https://houndci.com/) が手軽です。普通に Pull Request
を出すと、コーディングスタイル上の問題点を以下のように GitHub 上でコメントとして残してくれます。

![HoundCI のコメント](https://i.stack.imgur.com/0b1E9.png)

HoundCI はスタイルチェッカーとして [RuboCop](https://github.com/bbatsov/rubocop)
を使っています。ですので、チェック項目は基本的に RuboCop と同じです。

注意点があるとすれば、HoundCI のコーディング規約が RuboCop のデフォルト設定と多少異なることです。たとえば:

  * RuboCop: `"foobar"` のような式展開のない文字列は `'foobar'` と書かせる。
  * HoundCI: 文字列内にシングルクオートがなければ `"foobar"` と書かせる。

これは、HoundCI を提供する [thoughtbot](http://thoughtbot.com/) のコーディング規約だそうです。


CC BY-SA 3.0
2014-12-04T01:38:12.613
335
2014-12-04T01:38:12.613
774
189
answer


sideCIというgemが古くなっていないか、セキュリティチェック、Rails-best-practiceをチェックしてくれるサービスが有ります。
Github連携してくれるのでPullreqのタイミングで見てくれますね。今のところ無料です。

またrubocop-gitという修正したところだけRubocopチェックしてくれるgemがお勧めです


CC BY-SA 3.0
2014-12-16T05:50:17.550
1681
2014-12-16T05:50:17.550
2467
189
answer


guardとか使うとリアルタイムに実行エラー拾えたりもしますよー。もちろんsyntaxもです。  
ネットで参考にさせていただいた記事を張っておきます。

[Guard gem
を利用してファイルの変更を検出し、任意のタスクを自動実行する](http://qiita.com/tbpgr/items/f5be21d8e19dd852d9b7)


CC BY-SA 3.0
2014-12-16T08:25:03.817
1713
2014-12-16T08:25:03.817
2329
189
answer