ラップするとメンテが楽になるとかのたまうけど

例えば次みたいな場合なんだけどさあ、
int doUnko(int param) {
 switch(param) {
  case AAAA : return EX_AAAA;
  case BBBB : return EX_BBBB;
  default : return EX_CCCC;
 }
}
int main() {
 switch(doUnko(param)) {
  case EX_AAAA : doAAAA();
  case EX_BBBB : doBBBB();
  default : doCCCC();
 }
}
こんなコードって無いよな…。意味が無いと思うんだけどやれっつうんだよ…。堪らんわ…。こうするとメンテが楽になるとか言ってるけど、それって経験に全く裏付けされていないよな恐らく。
例えば AAAA が DDDD になったとするじゃん。そしたら確かに doUnko の AAAA を DDDD に直せばちゃんと動くには動くよ。でもそれをやると EX_AAAA と DDDD のソースコードレベルの不整合が起きるんだよ、それぐらい分かるよな。そして EX_AAAA を EX_DDDD に直すと、今度は呼び出し元も直さなくちゃならないんだよ。って事は呼び出し元も全部直す事になるんだよ。だから結局は、
int main() {
 switch(param) {
  case AAAA : doAAAA();
  case BBBB : doBBBB();
  default : doCCCC();
 }
}
こうやった方がマシなんだよ。そうは思わんかなあ。