cascaded if-else

いつだったか

if (...) {
} else if (...) {
}

cascade された if-else は何となく嫌いだと書いたけど、理由がちょっとわかった。自分の style としては

if (cond)
  {
    /* Some procedure. */
  }

else
  {
    /* Some very different (possibly orthogonal) procedure. */
  }

のように、お互いに coupling が軽い処理の間に空行を挟んで、独立した処理 block を分けるのが好きだからだ。例えば if (CONSP) と else if (VECTORP) の処理内容が違いに影響が無くて、かつそれぞれの処理が長い (≧ 1/2 画面) とき。とか、単純にそこでひとまとめにして続きとは切り離して考えたいとき。

Cascade 派はそういうときどうするのかな? 気にしないのかな? 慣れると素早く見極められるのかな? 後から該当 code 探してみようか。