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 探してみようか。