型の迷宮

2/2

第2話

設計者の意図

翌朝、佐藤は田中の席に向かった。オフィスはまだ静かで、プログラマーたちが徐々に席に着き始める時間帯だ。

「このコード、読んでみました」佐藤はノートパソコンを持ってきた。「ただ、なぜこんな複雑な型システムを設計したのか、理由が知りたくて」

田中は一瞬、画面を見つめた。その表情に、何かを思い出すような迷いが走った。

「あー...ね。あれは」田中は深く息をついた。「前のプロジェクトで、バグが多発したんだ。表面上は動いている。型チェックも通る。でも本来あり得ない状態でクラッシュする。そんなことが何度も繰り返された」

佐藤は聞き手に徹した。

「既存の型では、『この変数は文字列です』としか言えない。だから、ログイン前のユーザーなのに、ユーザーデータにアクセスできるコードを書いてしまうわけだ。型チェッカーは何も言わない。実行時まで気付かない」

モニターに映るコードを指差す。

「その問題を、型レベルで表現しようとした。ログイン状態という『概念』を型に組み込む。そうすれば、コンパイル時に矛盾を検出できる」

「でも、その後どうなったんです?このシステムは...」

田中の表情が曇った。

「それが...。設計まではうまくいったんだ。でも実装の途中で、プロジェクトが中止になってな。メンバーの異動もあって、記録も整理されないまま。今のチームはほぼ新顔だから、背景を知る人間がほとんどいない」

佐藤の心に疑問が残った。二年も前のコードが、なぜ今になって復活したのか。そして、なぜ田中自身がその経緯を曖昧に話すのか。

「ところで」田中は唐突に話題を変えた。「このコード、全部理解した?」

「いえ。まだ全体像が見えていません」

「そっか。実は...」田中はキーボードを操作した。画面上に、佐藤がまだ見たことのないファイルが表示される。「もう一つ層がある。表面のコードの下に、隠されたロジックがあるんだ。これを知っているのは、ごく限られた人間だけ」

佐藤は息を呑んだ。プロジェクトに隠された層があるという話。それは、単なる設計の複雑さではなく、何か意図的な秘匿を示唆していた。

「なぜ、それを教えてくれるんですか?」

田中は微かに笑った。「君だから。このコードを読み解こうとする姿勢を見て、思った。そろそろ誰かに任せるべき時が来たんだろう」

続きはまもなく

目次

コメント