健忘症

本日、6年前に開発したシステムに関する問合せがありました。現在もかかわっているような業務のシステムならシステム構造も似ているので、調査の勘所も思い出しやすいのですが、ちょっと特殊な業務システムということもあり、問合せ内容を調査するのに大変時間がかかってしまいました。単純に私が過去のことを忘れているせいもあるのですが、ドキュメントが悪い、コードが読みにくい、などなどいろいろな要因が重なって調査が大変でした。
そんななかで、非常に役にやったのが、JUnitによるテストコードとそのテスト用のテストデータでした。テストコードを追うことで、そのシステムが何をやろうとしているのかが明確になってきます。こうして、コードを追っていると、6年前の自分は、かなり複雑な関連のクラス構造を持つプログラミングを理解できていたなと思います。年々、コードがシンプルであること力を注いでいたのは、ある意味、もう複雑なコードを理解できない頭になりつつあるのではないかとも思ってしまいました。これは、いいことなのか?そうでないのか悩みどころですね。
いまさらですが、XUnitによるテスト重要性を改めて感じました。