Page 11 -
P. 11
// 100행의 코드를 건너뛰었습니다.
return `구매 금액은 ${total}입니다.`;
두 코드는 거의 유사해 보이지만, 첫 번째 코드가 훨씬 이해하기 쉽습니다. 코
드가 100줄을 넘지 않는다는 점은 무시합시다. 변경이 많은 엄청난 양의 코드
를 읽고 있다고 생각해야 합니다.
첫 번째 예제 코드에서는 “구매 금액은 110입니다.”가 반환된다는 것을 정확하
게 알 수 있습니다. total이 상수이며 재할당할 수 없다는 것을 알고 있기 때문
입니다. 두 번째 예제 코드에서는 반환되는 값이 무엇일지 가늠할 수 없습니다.
반복문, 조건문, 재할당처럼 값을 변경할 수 있는 코드가 있는지 100줄의 코드
를 살펴보면서 알아내야 합니다. 코드에서 배송비를 추가할지도 모릅니다. 추
가 구매 금액을 total에 추가할 수도 있습니다. 할인이 적용되어 total에서 제
외될 수도 있겠지요.
var를 이용해서 할당한 경우에는 total이 어떤 값이 될지 알 수 없습니다. 그
렇지만 const를 이용해 변수를 할당하면 코드를 읽을 때 머릿속에 담고 있어야
할 추가 정보를 하나 제거해줍니다. 다음의 마지막 예제를 살펴봅시다.
variables/const/const.js
const taxRate = 0.1;
const shipping = 5.00;
let total = 100 + (100 * taxRate) + shipping;
// 100행의 코드를 건너뛰었습니다.
return `구매 금액은 ${total}입니다.`;
잠시 시간을 들여 이 코드에서 무엇을 확신할 수 있는지 생각해봅시다. total
이 어떤 값이 될지는 확신할 수 없습니다. 이 코드를 작성한 개발자는 taxRate
와 shipping이 변하지 않는다는 점을 알려줬지만, total은 계속 유지되는 값이
아닙니다. 따라서 total 값을 믿을 수 없다는 점을 알 수 있습니다.
024
코딩의기술_자바_07.indd 24 2019-12-13 오전 10:27:02