もし雨なら撤収。プログラムの分かれ道、if文
コンピュータに判断をさせる唯一の方法は、分かれ道をあらかじめ書いておくこと。
キャンプ判断と同じ構造です。
キャンプ中、僕の頭の中ではこんな判断が回っています。
もし雨雲が近いなら、タープを張る。
もし風が強いなら、焚き火はやめる。
それ以外なら、のんびりする。
プログラムの分かれ道、if文の構造はこれと同じです。
もし〜なら、の連なり
日本語で書くとこう
もし (在庫が 0) なら:
「売り切れ」と表示する
そうでなければ:
「カートに入れる」ボタンを表示する
通販サイトの売り切れ表示も、天気アプリの傘マークも、中身はこの形の積み重ねです。
コンピュータは自分では何も判断しません。
人間があらかじめ書いておいた分かれ道を、条件に従って進んでいるだけ。
難しさは分かれ道の数
if文そのものは、たぶん誰でも理解できます。
難しいのは、現実の仕事では分かれ道が何十本も絡み合うことです。
会員か非会員か、セール中か、在庫は、送料は、クーポンは。
だからプログラマーは、分かれ道をなるべく減らす設計を考えます。
天気に一喜一憂しないで済む、屋根付きサイトを選ぶような発想ですね。
判断を書く技術より、判断を減らす技術のほうが、実は上級者の腕の見せどころです。