return
및 else
문을 CFScript에서 상호 교환하여 사용하는 것에 대한 의견을 듣고 싶습니다. 그것은 최근에 나에게 발생CFScript에서 return 문을 교환 할 수 있습니까?
if (something) {
// Do something
}
else {
// Do something else
}
내가 대신이 작업을 수행 할 수 있습니다 :
if (something) {
// Do something
return;
}
// Do something else
그 두 가지 스타일이 다른 최종 결과를 얻을시겠습니까 나는 일반적으로 다음 구문을 사용합니까? else
문에 코드를 래핑 할 필요가 없습니다. 내 생각에 if
문이 true로 평가되고 반환되면 아래의 코드가 실행되지 않습니다. true를 평가하지 않으면 else
문에 래핑되었는지 여부에 관계없이 아래 코드가 실행됩니다.
맞습니까?
예, 올바른 '반환'을 사용하는 한. 한 줄 또는 두 줄의 코드라면 두 번째 방법을 선호합니다. 그러나 그 이상으로, 첫 번째 방법은보다 읽기 쉽고 직관적 인 IMO입니다. – Leigh
모든 프로그래밍 언어에서이 아이디어에 대한 철저한 토론은 http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement를 참조하십시오. 당신의 예제 # 2는 Fowler에 의해 "Guard Statement"라고 불립니다. – orangepips
@orangepips +1 멋진 스레드 – Leigh