第5話
失敗の記憶
加藤の言葉は途中で止まった。画面を見つめたまま、彼は深く息をついた。
「何が違うのか、自分でもよくわからない」加藤は椅子の背もたれに身を預けた。「あの時は、状態ごとにクラスを分けた。でも保守が地獄だった。状態が増えるたびに新しいクラスを作って、インターフェースを修正して…。結局、元のコードに戻した」
田中は加藤の表情を読もうとした。失敗の話をしているのに、目に映るのは好奇心だった。
「君のやり方は違うように見える」加藤はモニターを指した。「クラスじゃなくて、型で状態を表現している。同じ関数でも、入力の型によって何ができるかが変わる」
「はい。状態を遷移の情報として保持させるんです。前の状態から許された操作を、型システムに認識させる」
「つまり、実行時の状態チェックを、コンパイル時に移す」加藤は眼鏡を外した。「その考え方は、昔なかった」
沈黙が落ちた。加藤は何かを思い出そうとしているような、あるいは何かを決めようとしているような表情で、天井を見つめていた。
「続けてみろ」彼は突然、そう言った。「ただし、チェックリストを作ってくれ。このやり方で本当に失敗を防げるのか、実装を進めながら記録する。次の失敗を同じ形にしないために」
加藤が過去の失敗を明かしたのは、田中を励ますためではなく、別の理由のような気がした。十年前の挫折と、今の試みがどう異なるのか。それを一緒に検証したいのだ。
午後、田中は佐藤と共に、チェックリストを書き始めた。
続きはまもなく
目次