본문 바로가기
클린코드

early return / else if, else 피하기

by Nhahan 2022. 4. 28.

좋은 코드를  짜야하는 이유

프로그래밍은 혼자 하는 것이 아니라 다른 사람들과 함께 하는 협업이기 때문이다. 내가 쓴 코드를 나는 알아도 팀원들이 읽기 어렵다면 좋지 않은 코드이다. 또한 지금 당장 내가 쓴 코드를 알아도 시간이 흘러 나중에 본다면 잘 알지 못할 수도 있다. 그렇기 떄문에 가독성 높은 좋은 코드를 쓰도록 노력해야한다.

 


early return

// 좋지 않은 예시
function hello(input) {
    if (조건1) {
    	if (조건2) {
            if (조건3) {
            	return 'hello'
            } else {
            	return 'bye'
            }
        } else {
        	throw new Error('some error');
        }
    }
    
    throw new Error('something went wrong');
}

딱 봐도 가독성이 좋지 않고, 특정 경우에 불필요한 if문을 계속 타는 것을 알 수 있다.

 

// 좋은 예시
function hello(input) {
    if (조건1) {
    	// logic1
    }
    if (조건2) {
    	// logic2
    }
    // ...
    
    throw new Error('something went wrong');
}

이렇게 따로 하면 빠르게 조건이 맞지 않을 경우 빠르게 return하여 불필요한 연산을 줄이고, 가독성도 향상시킬 수 있다.

 


else if, else 피하기

const x = 1;
if ( x >= 0) {
	console.log('x는 0고 같거나 크다');
} else if (x < 0) {
	console.log('x는 0보다 작다');
}

이런 경우, 2가지 방법으로 더 좋은 코드를 짤 수 있다.

 

 

1. if문 나누기

if (x >= 0) {
	console.log('~~')
}
if (x < 0) {
	console.log('~~')
}

2. 혹은 조건이 더 많은 경우 switch문을 쓰는게 좋다.

 


function hello(input) {
    if (조건) {
    	action()
    } else {
    	return 'hello';
    }
}

라는 함수가 있을 때 이렇게 무의식적으로 else를 쓰는 경우가 많은데

 

function hello(input) {
    if (조건) {
    	action()
    }
    return 'hello';
}

 

이렇게 쓰는게 더 좋은 코드이다.

반응형

'클린코드' 카테고리의 다른 글

스프레드 연산자는 .concat보다 성능이 좋다.  (0) 2023.01.19
Lookup Table  (0) 2022.09.05

댓글