bouzuya.hatenablog.com

ぼうずやのにっき

仕様化テスト

レガシーコード改善ガイドを読んでいる。レガシーコードを改善するための手順を身に付けたい。そして、身動きのとりにくくなったコードを生まれ変わらせたいからだ。

仕様化テスト (characterization test) は、コードの実際の振る舞いを明らかにするテスト。

仕様化テストは仕様書よりももっと具体的で確かなものを開発者に与えてくれそうだ。

新人のころの反省の文句でよく聞いたものに「コード(あるいは仕様)の理解が甘かった。もっと理解して〜」なんてのがあったのだけれど、具体的に何をどうするのかが分からなかった。

仕様化テストはその答えのひとつかもしれない。

仕様化テストを書いて、プロダクトコードに埋もれた仕様をテストコードの形で明らかにすれば良かったのだ。それがプログラマ的なアプローチで見返す方法である。間違っても、ほとんど意味をなさないチェックリストの作成や点検、仕様書の整備に時間を費やしてはいけない。

新人には IT を活かすアプローチを取れない会社には就職しないか、あるいはそういったアプローチを取れるように変えていってほしい。数年で不必要な労力ばかりを費やすことに気づいてやめてしまうかもしれないが。

14 min.