つい昨日見たコードです。
よくバグを出すプログラマーさんの担当に追加機能があったのですが、
テンパってたので、自分のほうで改修しよう、、、と思ったらこんなウンコードがッッッッッ!!!
「ないわー」
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){ //処理 }
使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)
このウンコードの趣旨はオーバーロード云々じゃないっしよ。
よく見たら戻り値の型の指定もないし
ceが2つあるし…se…? 命名法則的にきっとクラス名の省略形orz
引数の変数名もなんか抜けてる…
何だこれ…
いや、コンパイル通らんのでは。
コメント投稿には、twitter認証が必要です。
Twitter認証
オーバーロードとは何だったのか