여러 조건을 중첩을 하다보면 if문이 중첩되며 오른쪽으로 코드가 밀려난다.
이때 들여쓰기 된 부분을Nesting이라 한다.
중첩을 최소화하기 위해서 Refactoring 즉, 재조정이 필요하다. 이방법은 다음과 같이 나눌 수 있다.
1) and/or 연산자로 축약
논리연산자를 통해 조건을 합치게 되면 중첩을 줄일 수 있다.
다만 이의 문제점은 로직이 변경될 수 있으며 이 또한 중첩이 많이 필요한 경우 복잡해질 수 있다.
2) Guard clause
if문 끝에 조건을 모두 충족하지 않을 경우 실행되는 else문이 있다. 이 예외처리되는 코드들을 위로 올리는 것이다.
그렇게 된다면 가독성이 개선될 뿐만 아니라 로직의 변경 또한 없다.다만 이 경우에는 모든 if문을 검사하기에 실행 되는 코드들이 많아 성능면에서 떨어 질 수 있다.
다만 함수를 사용해서 안에 return등으로 함수를 조기종료하는 형식으로 만들게 된다면 성능의 개선을 이룰 수 있다.
3)함수사용
함수를 사용해서 nesting된 부분을 함수로 뺴내는 것이다. 그렇게 된다면 nesting을 줄일 수 있다.
다만 주의할점으로 function은 input이 있으면 output이 있는것이다. 따라서 이를 주의해야한다.
또한 재사용을 하지 않을 코드들을 function으로 만든다면 코드가 더 길어질 수 있으며 나중에 코드를 해석할 떄 function을 찾아야하기에 이에대한 부담이 생길 수 있다.
'프로그래밍 및 코딩 > PHP' 카테고리의 다른 글
파일 업로드 구현 요소 및 원리 (0) | 2023.05.26 |
---|---|
Index 및 데이터 정렬 방법 (0) | 2023.05.22 |
게시판 만들기_검색, 페이징 (0) | 2023.05.19 |
게시판 만들기_글수정 (0) | 2023.05.19 |
게시판 만들기_글삭제 (0) | 2023.05.19 |