テストのないモジュールに手を加えるのは大変だ

Class::MOPはわりとテストがしっかりしているので,拡張作業はわりと容易だった。一通りコードを書いたらmake testして,テストに失敗した項目があればそれを見て,という一連の作業をすればいいだけ。自分でモジュールを書くときはテストを書くのがまた大変なので,自分で一から書くよりもずっと楽だ。
一方,テストが不十分なモジュールのパッチを書くのは大変だ。まずテストを書くところから始めないといけない。自分のモジュールならまだしも,他人のモジュールのテストを書くのはあまり面白い作業ではない。また,基本的にはテストを仕様とみなすので,テストが不十分というのは仕様が不明ということにもなる。

とりあえずパッチの書き手としては,ソースコードはそんなに綺麗でなくてもいいから*1テストさえあればやる気が湧いてくるわけですよ。

*1:これは人のことを言える立場ではないので。