2011-11-16 3 views
0

이 클래스는 "중간 남자"코드 냄새에 포함됩니까?이 클래스는 "중간 남자"코드 냄새에 포함됩니까?

"Person"클래스가 있습니다. 필자는 Person_list의리스트를 가진 하나 이상의 클래스 Person List를 가지며 Person 클래스를 사용하여 추가, 제거 및 기타 다른 작업을 수행하는 메소드를 가지고있다.

다른 클래스의 Person_list 클래스에 액세스하고 있습니다.

미들 맨이나 다른 코드의 냄새가 있습니까?

class P{ 
} 

public class PL { 

    Vector<P> p; 
    String name; 

    public PL(String name) { 
     p = new Vector<P>(); 
     this.name = name; 
    } 

    public void addP(String name, int a, double h, 
      double w, String a, String g) { 
    } 

    public Patient findP(String name) { 
    } 

    public void removeP(String name) { 
    } 

    public void printSummaryForP(String name) { 
    } 
} 


class Main{ 

public static void main(String[] args){ 
PL pl=new PL(); 
pl.addP(a,b,c,d,e); 
pl.addP(a,b,c,d,e); 
pl.remove(); 
} 
} 
+0

일부 코드를 제공하면 더 쉬워 질 것입니다. –

+0

코드 냄새는 대개 코드와 관련이 있습니다. –

+0

@Chris 내 코드를 공유 할 수 없어 죄송합니다. 정책에 위배됩니다 .--( – rgksugan

답변

2

에 달려 있습니다. addp, findp, removep 메소드에서 무엇을하고 있습니까? 특정 항목을 벡터에만 추가하는 경우에는이 "목록"이 "중간 사람"코드 냄새의 예이며 안전하게 제거 할 수 있습니다.

그 외에도 addP 메소드를 리팩터링하여 매개 변수가 적게 사용하는 것이 좋습니다. 예를 들어 개체를 만들어 직접 보낼 수 있습니다.