전체 논리가 "이 조건이 참/거짓 인 경우이 항목을 반환하고 그렇지 않으면이를 반환합니다."라는 줄에 해당하는 함수에서이 항목에 대해 가장 좋거나 가장 받아 들여지는 형식은 무엇입니까? 내가 본 3 가지 방법이있는 것 같습니다.else 분기 및 return 문의 위치가 있습니까?
int function(bool foo){
if(foo){
return doSomething();
}else{
return somethingElse;
}
}
이 가장 의미가 있습니다,하지만 난 한 번 반환 값의 형태와 기능의 반환 형식이 지점에 위치하지 말았어야 읽었습니다. (왜, 소스는 말했다 결코) 그래서 다음이있다 :
지점 이외의 반환 유형을 가지고 있지만, 그것이 내가 생각하는 코드의 의미의 일부를 빼앗아, 나는 또한 읽은int function(bool foo){
if(foo){
return doSomething();
}
return somethingElse;
}
if-else 블록에는 이점이 있습니다. 마지막으로,이있다 (사람들은 무엇 소스 말 중 하나를하지 않았다) :
int function(bool foo){
int result;
if(foo){
result = doSomething();
}else{
result = somethingElse;
}
return result;
}
의미는 반환 지점의 외부에 있지만,이 아니었다 변수와 코드의 추가에 기능에 정말로 필요합니다.
제 질문은이 세 가지 형식 중 어떤 것이거나 다른 형식이 있다면이 형식으로 함수를 작성하는 가장 좋은 방법일까요?
나는 두 번째를 선호하지만, 나는 그것이 전혀 중요하지 않을 것이라고 생각하지 않는다. 3 번째 함수는 함수마다 하나의 return 문을 사용한다는 원칙을 고수하지 않는 한, 나에게 조금은 어색한 것처럼 보입니다. – chris
너무 주관적입니다. 나는 개인적으로 다음과 같이 쓸 것이다 :'return foo? doSomething() : somethingElse;'. – GManNickG
좋은 읽기 [ "한 가지만 반환"이라는 개념은 어디에서 왔습니까?] (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come -에서). –