이런 함수 작성 시 어떤 방법을 선호하시나요? > 설문게시판

설문게시판

이런 함수 작성 시 어떤 방법을 선호하시나요? 정보

이런 함수 작성 시 어떤 방법을 선호하시나요?

본문

이런 함수 작성 시 어떤 방법을 선호하시나요?

  • 1번 함수 선호

    10표 48%
  • 2번 함수 선호

    9표 43%
  • 기타

    2표 10%
종료되었습니다.
총 참여 수 21

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 문을 줄임

 

어떤 방식을 선호하시는지 골라 주세요.

 

기타를 선택하셨다면 어떤 방법을 사용하시는지 댓글로 남겨주세요.

  • 복사

댓글 전체

1번. 저라면...

<script>
function checkNumber(no) {
    if (!no)  msg = "번호가 없습니다.";
    else  if (no == 1)  msg = "번호가 1 입니다";
    else msg = "번호가 1 이 아닙니다.";
}
checkNumber(1);
document.write(msg);
</script>
2 그냥 봐도 간결 그리고 저는 2조차 아래로 변형해서 씀
function checkNumber(no)
{
  if (!no)        return "번호가 없습니다.";
  if (no == 1)  return "번호가 1 입니다";

  return "번호가 1 이 아닙니다.";
}
논리적 흐름으로 코드가 만들어지는게 좋은것 같네요.
(return, break 를 적절히 쓰게 되면, if depth 나 loop depth 를 줄일수 있습니다. 줄일수록 알아보기 좋은 코드)

그래서 2번입니다.

ps) 한줄짜리도 중괄호는 필수
한가지 더... 가끔 msg를 무조건 리턴해야 하는 경우가 있는데, 이건 try {} catch() 구문으로 처리하는게 좋습니다. throw new \Exception() 과 같이 쓰면, depth 를 줄이는 효과가 있습니다.

function checkNumber(no)
    try {
      if(!no) {
        new \Exception("번호가 없습니다.");
      } 

    } catch(Exception $e) {
      $msg = $e->getMessage();
    }

    return $msg;
}


validation 처리할땐 Exception 을 쓰는게 좋습니다.
© SIRSOFT
현재 페이지 제일 처음으로