こんにちは! 今日も、あなたの隣にいる「世界一わかりやすい技術解説者」がお届けします。
あなたは、こんな経験ありませんか?
- 友達に「スーパーで卵買ってきて!」と頼んだら、なぜか「納豆」を買ってきちゃった。
- 料理のレシピ通りに作ったのに、なんか焦げ付いちゃって、全然美味しくなかった。
- 家電のボタンを押したのに、思った通りに動いてくれなくて「あれ?」って首をかしげる。
「え、なんで!?」ってなりますよね。これって、実は「約束ごと」が曖昧だったり、伝わってなかったりすることが原因だったりするんです。
ITの世界でも、そんな「あれ?」や「困った!」をなくして、もっとスムーズに、もっと安心して動かすための「約束ごと」があるんです。それが今回お話しする「contracts(コントラクト)」と呼ばれるもの。ちょっと難しそうな名前ですけど、大丈夫。実はとっても身近な考え方なんですよ。
contractsって、一体何?
それはまるで、あなたの専属執事!
contractsを一番わかりやすく説明するなら、それは「あなたの専属執事」のようなものです。
想像してみてください。あなたは忙しい毎日を送るお屋敷の奥様。そして、なんでもテキパキこなしてくれる、ベテランの執事が一人いるとします。
あなたは執事に「夕食に美味しいカレーを作ってほしい」と頼みました。執事は「かしこまりました」と答えますが、ただ作るだけではありません。彼はまず、あなたにこう尋ねるはずです。
- 「奥様、カレーを作るには、新鮮なジャガイモ、人参、玉ねぎ、そして牛肉が必要でございますが、これらはすべて揃っておりますでしょうか?」
(これが「仕事を始める前の約束事」です。足りないものや、古いものがあったら、美味しいカレーは作れませんよね?) - 「そして、私がお作りしたカレーは、奥様が『美味しい』と仰ってくださるような、最高の一品をお出しすることをお約束いたします。」
(これが「仕事が終わった後の約束事」です。カレーのはずが、なぜかシチューになってたり、味が薄かったりしたら困りますもんね?) - 「また、調理の途中でも、カレーはカレーであり続けること。途中で別の料理に変わったりは決していたしません。」
(これが「仕事の途中でずっと守り続ける約束事」です。)
そう、この「仕事を始める前に〇〇であること」「仕事が終わったら〇〇になっていること」「途中で〇〇であること」という、すべての「約束ごと」のセットが、ITの世界での「contracts」なんです。
「約束ごと」があるから、こんなに便利!
この「専属執事の約束ごと」があるおかげで、私たちはたくさんのメリットを享受できます。
【その1】失敗を未然に防いでくれる
もしあなたが、うっかり腐りかけたジャガイモを執事に渡してしまったら? 執事は「奥様、大変申し訳ございません! このジャガイモでは美味しいカレーは作れません」と、きちんと教えてくれます。おかげで、まずいカレーができるのを防げますよね。
ITシステムでも同じです。もし間違ったデータや、おかしな指示が入ってきても、contractsという「約束ごと」が「これはダメ!」と事前に教えてくれるので、システムが壊れたり、変な動きをするのを防いでくれるんです。
【その2】みんなが安心して使えるようになる
執事がいつも完璧な約束事を守ってくれるなら、あなたは安心して彼に仕事を任せられます。「この執事なら、ちゃんと美味しいカレーを作ってくれる」と信頼できますよね。
contractsがあることで、システムの一部を作った人が、別の人が作ったシステム部品を「きっと約束通り動いてくれるだろう」と安心して使えるようになります。もし約束が守られなかったら、すぐにわかる仕組みになっているからです。
【その3】「これはできない!」をハッキリ教えてくれる
もし執事に「空を飛んで宇宙まで行って、月からカレーの材料を取ってきて!」と頼んだら? 彼は「奥様、それは私の職務範囲ではございません」と politely(丁寧に)断るはずです。
contractsは、できることとできないこと、引き受けられる仕事とそうでない仕事を明確にします。これによって、無茶な要求をされたり、誤解から生まれたトラブルを避けることができるんです。
身近な例で見てみましょう
もうちょっと具体的な例で見てみましょう。
あなたがアプリで「複数の数字の合計を計算する」機能を作りたいとします。その機能を担当する執事がいると想像してください。
執事との「契約書(contracts)」には、こう書いてあります。
- 仕事を始める前に(前条件):
「奥様は、足し算できる『数字のリスト』を私にお渡しください。バナナやリンゴのような、数字ではないものは含めないでくださいね。」 - 仕事が終わったら(後条件):
「私が奥様にお返しするのは、渡していただいたすべての数字を正確に足し合わせた『合計の数字』でございます。」
これで、もしあなたがうっかり「5, 8, バナナ, 12」というリストを渡してしまったら?
執事は「奥様、大変申し訳ございません。この中に『バナナ』がございます。数字ではございませんので、足し算することはできません」と、優しくもはっきりと、間違いを指摘してくれるでしょう。
もし執事がこっそり手抜きをして「5, 8, 12」の合計を「20」と返してしまったら(本当は25)?
contractsは「約束と違う結果を返している!」と見つけて、「奥様、この執事は約束を破っています!」と教えてくれるんです。これなら安心ですよね。
まとめ
contractsは、まるでITシステムの縁の下の力持ち。普段は私たちの目に見えないところで、システムがちゃんと約束を守って、正確に動いているかを常にチェックしてくれています。
なんだか堅苦しい「契約書」の話に聞こえたかもしれませんが、実はこの「専属執事の約束ごと」があるおかげで、ITの世界では、もっと安全で、もっと信頼できる、そしてもっと使いやすいサービスがどんどん生まれているんですよ。
今日からあなたも、この見えない「約束ごと」の重要性を知る、ちょっとしたITの達人ですね!
コメント
コメントを投稿