이런 함수 작성 시 어떤 방법을 선호하시나요?
1)
function checkNumber(no)
{
msg = "";
if (!no) {
msg = "번호가 없습니다.";
} else {
if (no == 1) msg = "번호가 1 입니다";
else msg = "번호가 1 이 아닙니다.";
}
return msg;
}
2)
function checkNumber(no)
{
if (!no)
return "번호가 없습니다.";
msg = "";
if (no == 1) msg = "번호가 1 입니다";
else msg = "번호가 1 이 아닙니다.";
return msg;
}
1과 같이 msg 를 저장하고 함수의 마지막에서 한번에 반환
2와 같이 중간 중간 return 으로 값을 반환하고 if 문을 줄임
어떤 방식을 선호하시는지 골라 주세요.
기타를 선택하셨다면 어떤 방법을 사용하시는지 댓글로 남겨주세요.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 14개
첫번째 처럼 마지막에 리턴하는 방식을 주로 사용합니다.
<script>
function checkNumber(no) {
if (!no) msg = "번호가 없습니다.";
else if (no == 1) msg = "번호가 1 입니다";
else msg = "번호가 1 이 아닙니다.";
}
checkNumber(1);
document.write(msg);
</script>
웬지 2번처럼 하다 실수한 경험이 좀 있다보니...
function checkNumber(no)
{
if (!no) return "번호가 없습니다.";
if (no == 1) return "번호가 1 입니다";
return "번호가 1 이 아닙니다.";
}
if 문안에 한줄이라도.. { } 묶어줍니다.. 그게 보기 좋아서;;
(return, break 를 적절히 쓰게 되면, if depth 나 loop depth 를 줄일수 있습니다. 줄일수록 알아보기 좋은 코드)
그래서 2번입니다.
ps) 한줄짜리도 중괄호는 필수
function checkNumber(no)
try {
if(!no) {
new \Exception("번호가 없습니다.");
}
} catch(Exception $e) {
$msg = $e->getMessage();
}
return $msg;
}
validation 처리할땐 Exception 을 쓰는게 좋습니다.