こんにちは, またくです。

ちょっと前から業務で Danger を導入し, 機械的なコードレビューをしてもらっています。

基本的には Dangerfile にルールを記述すると, それに沿って機械的にコードレビューをしてくれます. 公式のドキュメントを見ればわかりますが, git や github などに関わる情報は標準で参照できるようになっています。Ruby の方を普段使っていますが, JS の方もありました。(ページの雰囲気がぜんぜん違う)


fail 'Please add labels to this PR' if github.pr_labels.empty?
warn 'Too big PR!' if git.lines_of_code > 500


あれもチェックしたいなあ…これも追加しよ…あぁ…みたいにやっていると, 色んなロジックがめちゃめちゃ膨らむのが予想できますね。ただ Danger にはプラグインの機構があります。汎用的になりそうなルールはプラグインにしたほうがいいなと思い, このファイルに変更があったらあれも忘れずコミットして欲しいというチェックをとりあえず作りました。

https://github.com/mataku/danger-lock_dependency_versions

公式にもプラグインに関するドキュメントが用意されています。


本質的な問題や構造をレビューしたいけど, チェックする項目が多すぎるとそういったところを見落とす場合があります。見落とさないようにチェック項目を明示的にするという解決方法もあるかもしれないですが, それが機械的にできることであれば不毛でしかないですね。

そういった所を手動でチェックしてるけどとりあえずそういう所イケにしたいと思っているのであれば, 導入する価値はあると思います。(そしてこれ便利そうというのがあればプラグインにして欲しい)