May 21, 2020
실용주의 프론트엔드 개발을 읽고 느낀점을 써봤습니다.
리팩토링을 하는 목적에 대해서 다시 생각해봤다. “코드 품질 향상과 성능 개선” 이 두가지 목적을 이루기 위해 하는 것이라 생각했었는데, 잘못 생각한 것 같다. 마지막 문구인 “성능 향상을 위해 불가피하게 복잡하게 쓰는 코드”의 케이스도 생각해 볼 수 있다. 다시 정리하자면 “동작은 그대로, 코드 품질 향상”이 더 맞는 것 같다.
기능 추가와 리팩토링을 동시에 진행하는 것은 불가능 하다고 생각한다. 기능 추가는 “없던 것을 새로 만드는 작업” 이고, 리팩토링은 “있던 코드를 수정하는 것” 이기 때문이다. 코드가 없으면 수정도 없다고 생각한다.
const axios = axios.create({})
const postData = (url: string, params: any) {
return axios.post(url, params)
}postData()를 이용해서 Axios를 쓰다가 다른 이유 등으로 axios를 안쓰게 된다면, 저 postData()만 수정하면 된다.
소프트웨어 장인책에서도 나오는 이 용어를 좋아한다. 다만 일정 등으로 인해 여력이 안되는 아쉬운 상황이 많이 나오기 때문에, 일정을 잡을 때 리팩토링 까지 고려해야겠다.복잡한 Boolean 로직과 이해하기 어려울 수 있는 함수 및 메서드가 가장 고려되어야 한다고 생각한다.