つい昨日見たコードです。
よくバグを出すプログラマーさんの担当に追加機能があったのですが、
テンパってたので、自分のほうで改修しよう、、、と思ったらこんなウンコードがッッッッッ!!!
「ないわー」
public doSomething(int userId, Object param ){
try {
hoge(userId, param);
}catch( ClassCastException ce){
try{
hoge(userId, param);
}catch(ClassCastException ce){
try {
hoge(userId);
}catch(Exception e){
throw new SystemException(se);
}
}
}
}
private void hoge(int userId, ConditionBean bean){
//処理
}
private void hoge(int userId, List<ConditionBean bean>){
//処理
}
private void hoge(int userId){
//処理
}
このウンコードの趣旨はオーバーロード云々じゃないっしよ。
よく見たら戻り値の型の指定もないし
ceが2つあるし…se…? 命名法則的にきっとクラス名の省略形orz
引数の変数名もなんか抜けてる…
何だこれ…
いや、コンパイル通らんのでは。
オーバーロードとは何だったのか