사실 개발을 몇년정도 하면서 자연스럽게 체득된 방법이었는데 이렇게 부른다는건 이제서야 알았다. 다중으로 중첩된 if 문(Nesting If Statements) 대신 Guard Clause 를 적용해야 한다는 것이다.
중첩 if 문(Nesting If Statements)
개발을 하다보면 프로그램을 실행하기 위한 정합성 체크, 전제조건을 검사를 넣게 되는데 이를 조금 더 유식하게 guard 라고 한다. 이미 자연스럽게 만들고 있을 것이다.
if( condition ){
throw new CustomException("")
}
process();
하지만, 체크사항이 복잡하게 발생하면 코드도 이에 따라 복잡해지기 마련인데. 아래처럼 구현하게 된다는 거. 이런 중첩 구조를 Nesting 하다라고 얘기할 수 있고
if( condition ){
throw new CustomException("check condition")
}else{
if( condition2 ){
throw new CustomException("check condition2")
}else{
if( condition3 ) {
throw new CustomException("check condition3")
}else{
process();
}
}
}
Guard Clause
Nesting 하지 않고 단순하게 Guard Clause화 시켜서 아래처럼 개발하면 좋다. 가독성, 유지보수 용이성에서 모두 좋다.
if( condition ){
throw new CustomException("check condition")
}
if( condition2 ){
throw new CustomException("check condition2")
}
if( condition3 ) {
throw new CustomException("check condition3")
}
process();
'dev' 카테고리의 다른 글
코드 주석 작성 모범 사례 (0) | 2023.06.10 |
---|---|
Http 307 Temporary Internal Redirect 원인과 에러 해결 방법 (0) | 2023.02.18 |
ChatGPT API Python, Node.js, Java example(예제) (3) | 2023.02.14 |
포스트맨(postman) 사용법(설치, 다운로드) (0) | 2023.01.31 |
Base64 이해와 Base62 비교 (0) | 2022.12.20 |
ChatGPT 으로 작성해본 ChatGPT 장점, 단점, 후기 (1) | 2022.12.19 |
letsencrypt ssl 인증서 : There were too many requests of a given type :: too many failed authorizations recently (0) | 2022.06.12 |
Log4J(Log4Shell) 역대급 보안 취약점 정리(22.01.24 업데이트) (0) | 2022.01.24 |