2016-09-09 3 views
0

나쁜 제목에 대해 사과드립니다.방법을 만들 때 가장 좋은 방법은 무엇입니까?

public DPRFileContent(IDPRFile dprFile) { 

    if (dprFile == null) { 
     throw new Exception("DPR file parameter can not be null. Method[DPRFileContent]"); 
    } 

    this.dprFile = dprFile; 
    getFileContent(); 
} 

또는

public DPRFileContent(IDPRFile dprFile) { 

    if (dprFile == null) { 
     throw new Exception("DPR file parameter can not be null. Method[DPRFileContent]"); 
    } else { 

     this.dprFile = dprFile; 
     getFileContent(); 
    } 
} 

그것은 하나가 선호 단지 코딩 스타일에 다운되었을 수 있습니다 : 그것은 다음을 수행 좋든 나쁘

인가 : 이것은 내가 호기심이 약 해요 무엇인가 하지만 저는 꽤 아마추어 프로그래머이므로 경험 많은 프로그래머들이 선호하는 것에 정말로 관심이 있습니다.

감사합니다.

+0

콘텐츠가 발견되면 1에 대한 이벤트가 없어야합니다. 콘텐츠가 발견되지 않으면 2.For가 없습니다. 클라이언트가 처리하는 것에 대해 아무 것도 할 수없는 예외를 throw하는 것은 목적이 없습니다. – Arjang

+2

주로 의견을 기반으로하기 때문에이 질문을 투표로 결정했습니다. 그러나, 내 의견 (* 당신의 예제 * 기반)은'else'가없는 첫 번째 메서드와 함께 사용하는 것입니다. 왜냐하면이 코드가 중복되어 (* 예제에서 *) 코드를 중첩 시키면 가독성이 떨어집니다. – Christos

+0

@Christos : 두 경우 모두 다른 것보다 낫지 않습니다. 둘 다 비 OOP 원시 절차 코드입니다. 이벤트를 사용하면 두 접근법 중 하나를 사용하여 음소거를 렌더링 할 수 있습니다. – Arjang

답변

1

첫 번째 것이 바람직하고 그렇지 않으면 필요하지 않습니다. 또한 사용할 수 있습니다 Code Contracts

Contract.Requires(dprFile != null); 
+0

+1 코드 계약을 참조하기 위해 +1하지만 여전히 비 OOP 일반 코드이므로 다른 경우 대신 이벤트를 사용하는 것이 좋습니다. – Arjang

관련 문제