もし雨なら撤収。プログラムの分かれ道、if文

コンピュータに判断をさせる唯一の方法は、分かれ道をあらかじめ書いておくこと。
キャンプ判断と同じ構造です。

キャンプ中、僕の頭の中ではこんな判断が回っています。
もし雨雲が近いなら、タープを張る。
もし風が強いなら、焚き火はやめる。
それ以外なら、のんびりする。

プログラムの分かれ道、if文の構造はこれと同じです。

もし〜なら、の連なり

日本語で書くとこう

もし (在庫が 0) なら:
  「売り切れ」と表示する
そうでなければ:
  「カートに入れる」ボタンを表示する

通販サイトの売り切れ表示も、天気アプリの傘マークも、中身はこの形の積み重ねです。
コンピュータは自分では何も判断しません。
人間があらかじめ書いておいた分かれ道を、条件に従って進んでいるだけ。

難しさは分かれ道の数

if文そのものは、たぶん誰でも理解できます。
難しいのは、現実の仕事では分かれ道が何十本も絡み合うことです。
会員か非会員か、セール中か、在庫は、送料は、クーポンは。

だからプログラマーは、分かれ道をなるべく減らす設計を考えます。
天気に一喜一憂しないで済む、屋根付きサイトを選ぶような発想ですね。
判断を書く技術より、判断を減らす技術のほうが、実は上級者の腕の見せどころです。

技術ブログ一覧へ戻る