Railsプロジェクト作って、後悔しないために真っ先にやるべき5つのこと


概要

Ruby on Railsのプロジェクトに携わり、前任者がいないプロダクトを引き継ぐ際に、
「最初から〜〜しておいて欲しかった」と思うことが多い。

今まで思った、「最初から〜〜しておいて欲しかった」ということを自分なりにまとめてみた。

真っ先にすべき5つのこと

CIツールの導入

Githubを使っているなら、CircleCIあたりが良いと思われる。
bitbucketなら、どうやらMagnumCIというのがあるらしい。

とにかく、真っ先にCIツールを入れましょう。

静的解析ツール(Rubocop)の導入

静的コード解析ツール。
コードの一定レベルの綺麗さを保つなら、最初から入れないとダメ。
そして、大事なのが、Rubocopでwarningやerrorが出たらCIツールで失敗するようにすること。

これは本当に初めからやらなきゃ後悔するもの。

セキュリティチェックツール(Brakeman)の導入

これも真っ先に導入すべき。
あとから、セキュリティ・ホールが大量に見つかっても直すの本当に大変。
これも同様だが、必ずセキュリティチェックが失敗したら、CIツールで失敗するようにすること。

これも、はじめからやらなきゃ後悔する。

N+1クエリの検出ツール(bullet)の導入

モデル周りの最適化とか、通常のバックエンドエンジニアなら本当に怖くてやりたくない。
それでも、パフォーマンスチューニングしようとしたら必要な時が必ずある。

後からチューニングするのではなく、そもそも作る段階から綺麗に作っておく教訓にもなるので、はじめから入れるべし。

テストコードを書く基盤を作る

rspec-rails, factory_girl_rails, capybara, simplecov...などを中心としたテストのためのgemがあるが、この辺を入れてテストコードを素早く書ける状態を整えること。

テストコードが一行もないプロダクトを引き渡されると、本当に怖くてなにもできない。
なので、常にテストのカバレッジを気にした開発をすべし。

まとめ

上記で書いた5つは本当に最低限、Railsのプロダクトを作ったらまず初めにやるべきことだと思う。
後々やると必ず後悔するので。

リファクタリングに使えるgemとか様々あるが、基本的に上記のことをすべてやれば最低限気持ちいい開発はできるはずなので、これからRailsプロジェクト作るならぜひ。