컴퓨터/잡지식
if 릭펙토링 - 중첩문 줄이기 코드 테크닉
ya_ya
2022. 2. 21. 20:31
반응형
1. if문 다음에 나오는 공통된 절차를 각 분기점 내부에 넣는다. --> 공통된 절차는 조건에 상관없이 무조건 실행 되어야 하므로.
<전>
function test() {
let result = '';
if(a) {
if(!b) {
result = 'c';
}
}
else {
result = 'a';
}
result += 'b';
return result;
}
<후>
function test() {
let result = '';
if(a) {
if(!b) {
result = 'c';
}
result += 'b';
return result;
}
else {
result = 'a';
result += 'b';
return result;
}
}
2. 분기점에서 짧은 절타부터 실행하게 if문을 작성한다. --> if와 else위치를 서로 바꿔주기 위해서
원래 if(a) --> if(!a)로 고침.
function test() {
let result = '';
if(!a) {
result = 'a';
result += 'b';
return result;
}
else {
if(!b) {
result = 'c';
}
result += 'b';
return result;
}
}
3. 짧은 절차가 끝나면 return; 이나 break로 중단한다.
4.else를 제거한다.(중첩하나가 제거된다.) --> 위의 if문이 실행되면 return; 아나 break를 통해서 실행이 종료되기 때문에 else가 필요없어진다.
function test() {
let result = '';
if(!a) {
result = 'a';
result += 'b';
return result;
}
if(!b) {
result = 'c';
}
result += 'b';
return result;
}
중첩된 if문의 깊이를 하나 줄인 것을 확인할 수 있다.
<전>
function test() {
let result = '';
if(a) {
if(!b) {
result = 'c';
}
}
else {
result = 'a';
}
result += 'b';
return result;
}
<후>
function test() {
let result = '';
if(!a) {
result = 'a';
result += 'b';
return result;
}
if(!b) {
result = 'c';
}
result += 'b';
return result;
}
가독성이 훨씬 좋아졌다.
반응형