svn upする前にそのdiffを全部読む

最近のこだわりは、他の人がコミットした部分の差分をすべて読むこと。

モジュール単位でまとめてコードレビューとかじゃなくて、毎日最新の差分を追っかけている方が落ち着く。もちろん前提としてそれなりの規模の小ささがあると思うけど。

ほとんどのメンバは他人のコミットログは読んでいても、そのコミット内容まではいちいち読んでいない。また、直接コードを書いていないプロジェクトリーダーの人とかは、最新の設計や実装の状況を把握するためにコミットメールを重宝しているはず。だからもし、差分とコミットログの間に不整合があると、間違った情報でチームが混乱してしまう。誰かがいつも整合性を確認していれば、混乱が防げる。

また差分を見るだけで、うっかりミスや、仕様の勘違い、性能・品質に影響する設計・実装のまずさ、などの多くを発見できる。

さらに必ず、受け入れる(svn update -rNNN)よりも前にその差分を読むようにしている。svn updateコマンドの -r オプションを省略するのは不用心だと思う。こうすることで、受け入れたリビジョンの内容について把握した状態を保てるし、自分が変更する部分の影響や正しさについていつでも高い確信を持てる。少なくとも不安材料を減らすことができる。

「他の人を信用していない」と言われると、そうかもしれない。でも例えば、車の助手席のひとが「信号が青だよ」と言っても、運転手が自分の目で信号を確認しないで良いということはない。でも助手席のひとが地図を見て「次の信号を右」とか言ってくれるのは、とても助かる。結局、程度の問題だけど、自分の行動に確信を持つためには、ある程度「自分で確認する」ことが必要だと思う。

理屈ばかり書いたけど、たぶん一番重要な効用は、「ぼくはこうすることで落ち着いて開発ができる」ってことだと思う。「地に足の着いた開発」っていうのかな?