デッドロック

やっぱり、リファクタリングをするなら、きちんとテストコードを書いておこう。
ここ2日間ぐらいかけて、研究用ツールの作成をしていました。と言っても、プログラム内のTODOタスクを一つずつこなしていっただけです。スレッドセーフ化したり、実行時例外をきちんと投げるようにしたり、などなどです。
そのあと、今週中に実現しないといけない新機能を盛り込みました。そして、テストコードを書いて、テスト!! …失敗。ここまでは良くあることだったのですが、新機能の部分ではいくら考えてもバグはない。
と、今までのテストコードを実行していくと… 動かない。
(1時間格闘中)
何で動かないんだろう。。。
(宴会中)
あ、スレッドセーフにしたときに起こしたデッドロックかも。
(酔ったままデバッグ中にて寝落ち)
今朝になってやっとバグを取ることができました。やっぱり、リファクタリングをした直後には、きちんとテストを実施しないとだめだなと実感しました。
それにしても、酒飲んでグデングデンの状態でデバッグしても、バグって見つかるもんなんだなあ。寝落ちさえ気をつければ。