改修に次ぐ改修で魔境と化しているコード
その中のある一幕
public class FooX{ public void foo(){ FooA obj = getFooA(); obj.bar(); } public FooB getFooA(){ return new FooB(); } } public class FooA{ public void bar(){ //処理が書いてある } } public class FooB extends FooA{ public void bar(){ //処理が書いてある super.bar(); } }
使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)
コメント投稿には、twitter認証が必要です。
Twitter認証
ケースバイケースな印象。
例えば、
FooX#getFooA()
を子クラスからオーバーライドされる前提で作っているなら、割とアリな気もする。メソッドの戻り値が
FooB
な点は少し気になるけども。