2012-12-04 7 views
1

Java에는 어떤 프로그래밍 스타일이 더 좋습니까?
예. 내가있는 경우 :일련의 메서드 호출을위한 java의 적절한 규칙

SomeObject createObject();

void process(SomeObject o);

이 더 나은가요?

process(createObject()) 또는

SomeObject o = createObject();
process(o);

아니면 뭔가? 아니면 차이점이나 단점이 있습니까?

+1

는 [I가 전문가처럼 보이나요? (http://programmer.97things.oreilly.com/wiki/index.php/The_Guru_Myth) –

+1

초 방법 (2 개 라인) 디버깅/예외가 약간의 추적을 쉽게 만들 수 있습니다. – assylias

+0

@assylias : 왜 다른 점이 있습니까? – Jim

답변

1

어떤 방법으로도 갈 수 있지만 그 결과를 다른 방법으로 전달하기 전에 메서드를 호출하는 것이 좋다.

이전에 호출 된 메소드에 예외가있는 경우 쉽게 추적 할 수 있습니다.

가독성도이 접근법에 더해지며 동일한 객체 참조가있는 경우이를 사용하여 다른 방법을 호출 할 수도 있습니다.

1

두 번째는 당신이 더 이상 o에 대한 참조를 필요로하지 않는 경우 process(o);

SomeObject o = createObject(); 
process(o); 
// you can use o here, too 

호출 한 후 o에 대한 참조를 사용할 수 있다는 장점이있다, process(createObject()); 괜찮습니다.

가독성은 두 번째 버전에서 더 좋지만 첫 번째 버전을 사용하는 것이 좋습니다.

(또한, 당신이 요청하는 방식에 유의 createObject()이 있어야합니다 static 방법)

3

당신은 다른 곳에서 다음이 2 스타일을 사용하는 것이 좋습니다 curent 범위 SomeObject의 참조해야하는 경우 :

SomeObject o = createObject(); 
process(o); 

// use instance o some other way: 
// o.setBase(10); 

그렇지 않으면 당신이 확실 SomeObject의 경우, 요구 사항에 따라 달라집니다

process(createObject()); 
1

이 아닌 1 스타일의 예를 사용하는 것이 더 컴팩트 다른 곳에서는 사용하지 않으면 첫 번째 방법을 사용해야합니다. 그렇지 않으면 두 번째 방법이 더 좋습니다. 나는 프로그래밍 스타일에 대해 많이 생각하지 않는다.

관련 문제