表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

8/18

008 テスト書いてないとかお前それ@t_wadaの前でも同じ事言えんの?

「ファリーダ、ゴーレムの制御は、あとどれくらいつづけられそうだ?」


「そうだね。まあ、十五分くらいはいけると思う」と部屋の外からファリーダが答えた。


 部屋の中央の床に、例の紋様があった。

 近づいてみる。

 紋様に魔力を流して確認する。ある程度、中の構造がわかる。

 紋様の下は少し空洞になっていて、そこに侵入者のリストがあるようだ。


 特にセキュリティのようなものはなさそうだった。

 ゴーレムを三体配置していること、それ自体がセキュリティとなっているからだろう。


 さっさと床を剥がしてしまったほうが良さそうだ。


 ただ、私はMAProxyを展開しているため、細かい作業に精神を割くのが難しかった。


 仕方がない。アウロラに任せよう。


「アウロラ、その床だけ剥がしてくれ」


「おいしょ」アウロラはしゃがみこんで、床に手を触れた。「ふん! ふん!」


 持ち上げようとしているようだが、床が動く気配はまったくない。


「……何をやっているんだ?」


「えっと、床を剥がそうかと思いまして」


「きみは魔法使いだろ……。一枚だけ消してしまえば良い」


「あ、そうですね」アウロラは微笑んだ。「じゃあ、消しちゃいますね〜」


 軽いノリだった。

 嫌な予感がした。

 詠唱をはじめようとしたアウロラの口を、私は抑えた。


「むぐ……」


「ここの床を崩落させるな。この文様の箇所だけを正確に消去するんだ」


「うーん。やってみますけどぉ……」不安そうだった。「どうすれば?」


「TDDでやるか」


「TDDってなんですか?」


「……テスト駆動開発だ。簡単に説明すると、先にテストケースを書く。そのあとに実装を書くわけだ」


 アウロラは笑顔になっていた。

 この笑顔を見るたびに、アウロラは何も理解していないのだ、ということがよくわかる。


「つまり、二センチ四方、一センチの深さの穴を作成する関数をつくるとする。そうすると、関数の結果はこうなるlet expectedHole: Cuboid = { Min = { X = 0.0; Y = 0.0; Z = 0.0 } Max = { X = 2.0; Y = 2.0; Z = -1.0 } }」


「ほうほう。Minは原点、Maxが結果みたいな感じですか」


「これで先にテストを書いて、入力と出力の型を考え、テストが通るように関数を実装していく」


 私はアウロラにTDDについて、そのまま軽く説明をつづけた。

 Red, Green, Refactorという手順を伝え、早速テストを書いてもらい、実装も任せた。

 最初は、座標計算を間違えていたり、単位の桁数を間違えていたり、符号を間違えていたりでおかしなことになっていた。

 もしテストがなければ、恐ろしいことになっていただろう……。


 そして数分でアウロラは関数を完成させた。

 私が作成したテストケースすべてを網羅し、すべてがグリーンになっている。


「うわ、このやり方、すごいですね! わたしでも魔法ができちゃいました!」


「基本的にはTDDで書いたほうが、バグや手戻りが少なくなる傾向にある。おすすめだ」


「はい!」とアウロラは笑顔で答えた。いい返事だ。


 さらに言うと、TDDは仕様を追加のときに役立つ。

 テストが通っているうちは、何も壊れていないことが保証される。

 だから、安心して変更を進めることができるのだ。


「あ、そういえば、『テスト書いてないとかお前それ@t_wadaの前でも同じ事言えんの?』って知ってますか?」


「……どこでそれを?」


「アカデミーで、友達が言ってたんですよ。そういえば、その子、TDDだかなんだか言ってたなって、ふと思い出しまして」


「TDD教という宗教団体があるんだ。その宗教団体の始祖だったか、始祖の言葉を広めた者だったか……。それが@t_wadaという者らしい」


「変な名前ですね。アットだなんて」


「たぶん、洗礼名かなにかだと思うが……」


 そんな話をしている場合ではない。

 ファリーダの魔力が尽きる前に、さっさと終わらせよう。


 アウロラは慎重に魔法を詠唱していた。

 事前にテストしていた通り、紋様の箇所だけをきれいに矩形に取り除くことに成功していた。


「うわ、すごい。本当にうまくいきました」アウロラは微笑む。「レイジ様のおかげです。ありがとうございます」

「ありがとうございます、はこっちのセリフだ」


 私がお願いしてアウロラに関数を書いてもらったのである。


 紋様の下は想定していた通り空洞になっていた。

 手を伸ばせば、ぎりぎり届くところに石板が置かれている。

 それは魔力を有した石板で、触れると、微かに温かい感触が指先に伝わってきた。


 石板には見慣れない文法で文字が書かれていた。


「これは……えっと……S式か」私は思わずつぶやいていた。「アウロラ、知らないよな」


「なんですか、これ。変なの。カッコばっかり」


 そこに書かれていたのは、大量にカッコのある言語だった。

 私がほとんど書いたことのない言語だが、まあ、ぎりぎり、なんとかわからなくもない。

 S式とは、簡単に言えば人間が書く構文木である。


 そこには、以下のように記されていた。

『(golem-control (exclude (intruder) ) (protect (sahalin-gear) ) )』


 これを……。

 『(golem-control (exclude (enemies-of royal-family) ) (protect (sahalin-gear) (royal-family) ) )』

 こんな感じか……。 


「ファリーダ、制御魔法を止めてみてくれ」


 私の指示で、ファリーダが魔法の出力を止める。

 ゴーレムたちは、身動きひとつ取らない。

 襲ってくることはなさそうだ。


「やった。やりました! レイジ様! さすがです!」


 アウロラといると、自分が一角の人物になったような気にさせられる。

 しかし、私は雑多に知識があるだけだ。

 なにかひとつの物事を極めたという経験がない。

 いつの日か、この世界に、なにか魔法使いとして生きた証を残すことができるだろうか……。

 そんなことを、思った。

小説家になろうに初投稿!


完結まで頑張ります!


・だいたい3〜4話に1回くらい事後シーン(朝チュン)があります。

・事後シーンのある話には『★』がついています。

・魔法のシーンは適当なので、雰囲気で良いです。読み飛ばしてください。


「面白かった」


「続きが気になる」


「いろんな美少女との事後展開が読みたい」


と思ったら


・ブックマークに追加


・広告下の「☆☆☆☆☆」から評価


(面白かったら星5つ、つまらなかったら星1つ!)


をして読み進めていただけると大変励みになります。


よろしくお願いします!

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ