blog

紫陽花

クオリティの高いコードを書こう、rubocop

最近、一回りも年が違う先輩のそばでプログラムを書いていてたくさんのことを学ばせてもらってます。
普段はRubyを書いているのですがそのRubyコードを先輩にレビューしてもらうとひどい書き方をしまくっていて笑われてしまいました。笑
ただ動くだけのコードなら誰でも簡単に書くことができますが、可読性が高く、簡潔で、保守性の高いコードを書くには作法を覚え意識して書く必要があると思います。
現場の第一線で活躍するエンジニアになるためにも最近はコードのクオリティを上げていくことを課題として感じています。
2016年はコードクオリティを上げる年にします!!!!!笑

コードリファクタリングに関しては名著などもあり、リーダブルコードなどは多くの人に読まれているのではないでしょうか。

www.amazon.co.jp


わかりやすい図と、なぜその書き方がいけないのかと、本質的にプログラムコードの書き方について書かれているのでとてもいい本です。
また、Webメディアでも時々コードレビューについて話題になったりもしています。

codeiq.jp

参考に。

今回紹介するのはRubocopというツール
自分も先週先輩に教えてもらって導入したツールです。呼び方はルボコップ

RubyGems

rubocop | RubyGems.org | your community gem host



何をするツールなのかというとRubyのコードを精査してくれて標準的な書き方に矯正してくれるツールです。
精査する基準としてはruby-style-guideを基準とされています。
bbatsov/ruby-style-guide · GitHub

導入方法

導入の仕方は簡単で、bundlerで入れる際にはGemファイルに書き込んで
bundle exec bundle install

gem 'rubocop', '~> 0.35.1'

実行方法

bundle exec rubocop

実行結果
f:id:katlez:20160111155037p:plain

rubocop 設定ファイル

プロジェクトのカレントディレクトリに.rubocop.ymlという設定ファイルを置くことが出来ます。
.rubocop.ymlにはソースコードの精査する基準を書き込むことが出来、rubocopを実行する際にそのファイルを参照してそれに沿った精査を行ってくれます。
チームごとに精査する基準を変えることができるとこもrubocopのいいところですね、
またrailsなどで自動的に生成されたファイルでエラーが出たりする場合もあるのでそれらのファイルをrubocopが見に行かないように設定ファイルで変えることができます

f:id:katlez:20160111155637p:plain

rubyコードを書いている人はぜひ使ってみてください