좋지 않은 코드 스타일
중요도: 4
아래 코드가 어떤 점에서 좋지 않은지 생각해보세요.
function pow(x,n) { let result=1; for(let i=0;i<n;i++) {result*=x;} return result; } let x=prompt("x?",''), n=prompt("n?",'') if (n<=0) { alert(`Power ${n} is not supported, please enter an integer number greater than zero`); } else { alert(pow(x,n)) }
더 나은 코드로 고쳐봅시다.
주석을 참고해 어떤 점이 좋지 않은지 살펴봅시다.
function pow(x,n) // <- 인수 사이에 공백이 없음 { // <- 별도의 줄에 있는 중괄호 let result=1; // <- 할당 연산자 = 앞/뒤에 공백이 없음 for(let i=0;i<n;i++) {result*=x;} // 비교 연산자 < 앞/뒤에 공백이 없음 // { ... }안의 코드는 새로운 줄에 위치해야 함 return result; } let x=prompt("x?",''), n=prompt("n?",'') // <-- 에러를 발생시키는 코드는 아니나, // 두 줄로 나눠서 작성하는 게 좋고, 연산자 앞/뒤 공백과 문장 끝 ;를 넣어주는 게 좋음 if (n<=0) // <- (n <= 0) 같이 공백을 넣는 게 좋고, 윗줄은 비워놓아야 함(세로 들여쓰기) { // <- 별도의 줄에 있는 중괄호 // 아랫줄같이 가로 길이가 길어지면 가독성을 위해 코드를 여러 줄로 쪼개는 게 좋음 alert(`Power ${n} is not supported, please enter an integer number greater than zero`); } else // <- "} else {"같이 else와 중괄호는 한 줄에 작성하는 게 좋음 { alert(pow(x,n)) // 공백과 ; 가 없음 }
아래는 더 나은 스타일로 바꾼 코드입니다.
function pow(x, n) { let result = 1; for (let i = 0; i < n; i++) { result *= x; } return result; } let x = prompt("x?", ""); let n = prompt("n?", ""); if (n <= 0) { alert(`Power ${n} is not supported, please enter an integer number greater than zero`); } else { alert( pow(x, n) ); }