변수를 너무 많이 사용하거나 변수 용도가 변화하면 추적이 복잡해진다.
(심지어 내가) 코드를 이해하는데 드는 비용이 커진다. 인지부하 발생.
이해하는 비용이 커진다는 것은 코드변경에 드는 비용이 커져 유지보수가 어려워진다.
아래의 프랙티스처럼 변수를 아낀다면 코드의 복잡도를 낮추고 가독성을 높일 수 있다.
선언하고 몇번 참조하지 않는 변수는 인라인화
한다.
const kim = new Person()
const age = kim.getAge();
isMinor(age) // bad
isMinor(kim.getAge()) // good
의미를 더해주는 변수 위주로 사용한다.
const age = 2023 - kim.getAge()
같은 복잡한 계산을 반복하는 경우 사용한다.
const result = kim.someComplexMethod()
가능한 선언과 값 할당을 한번에 해준다.
아래와 같이 사용하면 BAD
let result;
// after 80 lines
result = kim.calcResult();
의미나 용도가 다르면 타입이 같더라도 다른 변수를 사용해야한다.
추후 분석과정의 비용이 매우매우 커지기 때문이다.
// bad
const response : Response = callApi1()
response = callApi2()
// good
const response1 : Response = callApi1()
const response2 : Response = callApi2()
블록안에서 사용되는 변수는 가능한 블록안으로 넣어 사용한다.
var대신 let를사용한다.
최대한 사용되기 직전에 선언 및 할당해준다. 간격이 길어지면 추적이 어려우므로 인지부하 발생
sample mocking comment for api test