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
で実行する。
これもそんなに厳しくないので何度もやる。
きっかけをもらう
『まぁええわ』と言うのはとにかく楽で、いくらでも言えるけど、その後『やっぱやらないと』と言うのは難しい。なので機械にきっかけを貰う。機械に言われて直している途中で『あ、やっぱここちょっとダメだな』とか思い直せる。思い直したら即やるとよい。