鳩舎

レースしない

1人でよいコードを書く

1人でよいコードを書くのは、3人でよいコードを書くことの3倍難しい。悪いコードを書くときに説得する人間が 1/3 でよいので、つまり自分に向かって『まぁいいじゃん今回は』と言えば事が済む。続けているといつの間にか引き返せないところまできていて、適当に書いた個人プロジェクトは設計的破綻を起こし、コーディング規約もなにもあったもんじゃないという破滅が待っている。

ということで、1人でよいコードを書くために。今回は Rails プロダクトを1人で書くとして。

rubocop

コーディング規約と、あまりに長すぎるメソッドやあまりに長いクラス定義などを見つけてくれる。全てに従うと厳しすぎて死ぬので、適宜各チェッカを無効にするのがよい。

僕はこんな感じの設定で使っている。

AllCops:
  Includes:
    - Rakefile
    - Gemfile
    - config.ru
  Excludes:
    - bin/*
    - lib/monkey_patches/*
    - db/schema.rb
  RunRailsCops: true

Documentation:
  Enabled: false

LineLength:
  Max: 127

ClassAndModuleChildren:
  Enabled: false

これで一旦、コーディング規約は得られた。

code_hunter

全自動モヒカンという画期的なプロダクトである所の code_hunter を使う。

これも各チェッカの設定を書くことで適宜無効に出来る。

scss-lint

scss-lint app/assets/stylesheets で実行してとにかく何度も繰り返しみる。

そんなに厳しいチェッカではないので、相当変なことをしてない限りはどやされない。

coffeelint.rb

coffeelint.rb app/assets/javascripts/**/*.coffee で実行する。

これもそんなに厳しくないので何度もやる。

きっかけをもらう

『まぁええわ』と言うのはとにかく楽で、いくらでも言えるけど、その後『やっぱやらないと』と言うのは難しい。なので機械にきっかけを貰う。機械に言われて直している途中で『あ、やっぱここちょっとダメだな』とか思い直せる。思い直したら即やるとよい。