Javascript

Guard Clauses로 예외처리를 해보자

코드숨 과정을 통해 Guard Clauses에 대해 알게 되었다.

 

이는 조건문에 관한 것이다.

 

if-else 로직을 리팩토링하여 좀 더 읽기 쉽고 깔끔한 코드를 작성하는데 그 의의가 있다.

function checkMaster(user) {
 if (user.role === 'admin') {
  if (user.master === true) {
   return true;
  }
  else {
  return false;
  }
 }
 else {
  return false;
 }
}

if-else 로직으로 작성하는 것은 편리하다. 하지만 가독성이 좋지 않다는 단점이 있다. 중첩이 깊어질 수록 내용을 명확하게 파악하기 힘들고 이는 유지보수에 도움이 되지 않는다.

 

Guard Clauses에 의한 작성법은 과감하게 if-else 로직을 사용하지 않는 것이다. 전제가 되는 조건을 if문으로 간결하게 작성하고 조건에 부합하지 않으면 false 리턴한다. 

function checkMaster(user) {
 if (user.role !== 'admin') return false
 if (user.master !== true) return false
 return true
}

두 코드 중에 어떤 코드가 더 보기 좋은지에 대해서는 굳이 재고할 필요가 없어 보인다. 덕분에 예외처리를 쉽게 할 수 있다.