GYAOの窓際エンジニア 玉利です。
最近は日本のPJが大変で、ベトナム側もJavascript絡みの問題が出たりして無事死亡しております。
今の時期、日本がくっそ暑くなるタイミングでベトナムに行きたいところです。日本の夏はベトナムより暑くてインド並です(知人談) この時期のホーチミンは、太陽が北にあって(北回帰線の南側にあります)、風が涼しくてものすごく過ごしやすいんです。そして海鮮とビールをガツンと。
さて、いままでいろいろ品質管理の仕組みを頑張ってきました。ベトナムにかぎらずオフショアすると仕様を決めるのが精一杯で、QAを日本でやったらコストで足が出るし、QAを現地スタッフにお願いしてもザルなのは目に見えてます。労働集約型産業だったら駐在出す理由もあるのですが、知識集約だと日本で優秀な人間を取ったほうが結果安い、ということになりかねません。
今日紹介するのは、あまり日本ではメジャーじゃないrubycriticです。同様のものにrubocopがあります。海外記事では比較して語られていましたが、私は併用するべき有用なgemだと思っています。
特に悪さをすることも無さそうなので、さくっと入れてあげましょう。所要時間3分です。
Gemfile
group :development do
gem "rubycritic", :require => false
end
bundle installしたら、コマンドラインからrubucriticを起動します。
$ ruby critic
実行が終わると、ブラウザが立ち上がって結果が出力されます。
Churn(チャーン)は「激しい動き」 Complexityは複雑度です。
だいたい、品質は揃ってるみたいですが、飛んでるデータが有りますね。
ポイントにマウスカーソルをあてると統計タブがでます。
では、Codeのタブを叩いてみましょう。
各コントローラー毎の複雑度、重複、匂い(癖)がでます。画面サンプルのFってのはやばそうですね。
あー、コピペしたコードを引っ掛けられてしまいました。どっかのヘルパーに移動しないといけません。
ベトナム人に、ここおかしいよって教えてあげるのは骨が折れる作業なので、こういうツールで検出してから自分たちで直させるのがベストな手法だと思ってます。