会社のメーリングリストで話題になっていたブログエントリー:
Why code reviews are good for you
ソフトウェアのコードレビューには以下の3種類があり、
- no code reviews: コードレビュー無し。
- blocking code reviews: コードレビューが完了するまで、コードのチェックインが出来ない。
- non-blocking code reviews: コードのチェックインはいつでも可。コードレビューは、いわば事後承諾。
で、このブログの主の主張はこの中でnon-blocking code reviewが経験上最もうまくいくという物。
non-blocking code reviewって私は実務で経験したこと無いけれど、本当にうまくまわるんだろうか?確かにリリース間際におっきなチェックインがばんばん入って不安定になるといったようなことは救えるかも知れないが、例えば誰かがパブリックなインターフェースをチェックインし、他の誰かがそれを使い出した後にコードレビューで不具合が出たら、よけいな手間がかかるんじゃないだろうか。ただし、彼の主張にある、
Code reviews don't reveal critical flaws in your code.
これは少なくとも違っていると言える。