第4話
型の迷宮 第4話 最初の実装
加藤の言葉が落ちた直後、会議室に緊張感が走った。田中は、これが単なる許可ではなく、ベテランエンジニアからの信頼の預け金だと理解した。
三日後、田中は決済ステータス処理のモジュールに向き合っていた。既存コードは千行を超える。その中から、最小限の部分を切り出す作業は、想像以上に難しかった。
「ここですね」と佐藤が横に座った。新人エンジニアだが、型システムへの関心は高い。「この条件分岐、全部で十五個ある」
「そう。これを型で表現するなら、状態ごとに許された操作を定義する」田中はコードを指した。「例えば『完了状態』では、『キャンセル』という操作は存在しない。だから型チェッカーが拒否する」
「でも、現在のコードは全部同じ関数ですよね」
「そこがポイントなんだ。今は『状態チェック→操作実行→結果返す』という流れを、毎回コピペで書き直している。型を使えば、状態ごとに異なる関数を持たせることができる」
佐藤はスクリーンを見つめた。最初の型定義が完成しようとしていた。
その夜、加藤からメッセージが来た。彼は新しいコードをレビューしていたのだ。返信は短かった。「明日話そう」
翌朝、加藤の机に呼ばれた田中を待っていたのは、予想外の質問だった。
「この設計、昔どこかで見たような気がする」加藤は画面を眺めていた。「十年前、別のプロジェクトでステートパターンを試した。その時は失敗した。何が違う」
田中は息を整えた。正直に答える必要がある。
「その時は、パターンを『構造』としてだけ捉えたんじゃないか。今は、それを『型』で強制している。違いはそこです」
加藤は静かに頷いた。「つまり、良い設計も、強制力がなきゃ崩れるってわけだ」
「そういうことになります」
加藤はキーボードに向き直った。「進めてくれ。一週間後に、実装の進捗報告をしてくれ。その時点で、もう一度判断する」
承認ではなく、監視だ。だが田中には、それが信頼の現れに見えた。課題は山積みだが、ようやくスタートラインに立つことができた。
続きはまもなく
目次