//메소드 끝 부분 // A if (~~~~~~~~) { return "common/success"; } else { return "common/fail"; } // B if (~~~~~~~~) { return "common/success"; } return "common/fail"; 동일한 기능입니다. A냐 B냐의 차이만 있을 뿐이죠. 어떤쪽을 선호하시나요?
return "common/fail";
C# 스타일 (C#밖에 모르는 바보가)
자바를 몰라서 C#에선 이렇게도 된다라고 쓴겁니다
if (~~~)
{
return false;
}
return true;
쉴드패턴이죠
MFC도.. 이게 옵션따라 다른지는 모르지만 리턴값 없다고 경고 뜹니다...
예를 든 내용으로 보면 A요
양자택일의 개념 강할땐 A
방어나 스킵성격일경우는 B입니다.
이유는 추가코드가 붙는걸 보면 되죠
깔끔의 문제가 아닙니다
A가 더 설계 의도를 명확하게 표현해서 오해 가능성을 줄인다고 보기 때문입니다.
동등한 수준으로 이건 이렁거고 저건 저렁거야 라고 말하고 싶을때
b
이건 블라블라 이런거야 하고 쭉 설명을 맥 끊기지 않게 설명하고, 단 예외는 있어. 하고 싶을때
string loc = "";
if(){
loc = s
}else{
loc = f
}
return loc;
이렇게 해요 ㅎㅎㅎ;;
하나의 리턴.
A는 코드 복잡해지면 버그 날 것 같은데요.
따라서 if 문안에는 return을 안 넣는 쪽으로...
코드의 목적에 때라 방어적인 코드이거나 인자 확인 등은 B 쪽을 선호 합니다.
A의 경우는 return 이 아닐 경우에 주로.
그 경우는 함수를 나누는 것이...
if 밑에 줄줄이 else가 있으면 B가 나을 거구요..
저 정도 되면 생각의 범위가 함수 내부에서 쓰는 if() 문이 아닌 함수 가져다쓰는 입장에서 에러 핸들링으로 넘어간다고 생각해요.