리팩터링 기법에서 처음 소개되는 기법은 함수 추출하기이다.
한 마디로 어떤 코드 블록을 찾아서, 독립적인 함수로 추출하고 적절한 이름을 붙여주는 것이다.
그럼 언제해야하나?
1. 길이를 기준으로 삼을 수도 있고,
2. 재사용성을 기준으로 할 수도 있다. (2번이상 사용될 코드는 함수로 만드는 등)
3. 하지만 저자가 추천하는 방법은, "목적과 구현을 분리" 하는 것이 가장 합리적이라고 말한다.
코드를 보고, 무슨일을 하는지에 대해 한참이 걸린다면, 그 부분을 함수로 추출한 뒤에, 무슨일에 대한 걸맞는 이름을 짓는 것이다.
이렇게하면, 나중에 코드를 다시 읽을 때, 함수의 목적이 눈에 확 들어오고, 본문 코드에 대해서는 더 이상 신경 쓸일이 거의 없어진다.
즉, 슈도코드만큼 코드가 무슨일을 하는지 읽힐정도로 가독성이 있게 만들어 버리는 것이 목적인 것 같다.
저자는 한줄짜리 코드도 추출한 경험이 적지않다고 한다.
"가독성"을 위한 리팩터링에 대해서는 나도 동의한다.
코드를 작성하다보면, 내가 짠 코드이므로 나한테는 가독성이 있어보여서 넘어갈 수 있는데,
프로그래밍을 할 때, 언제나 제 3자가 읽을 때를 고려하는 것이 매우 중요한 것 같다.
아니면 에디터를 끄면 그에 대한 모든 기억을 다 잊고, 코드를 새로 보았을 때 쉽게 이해할 수 있는 코드를 작성하는 의식적인 노력도 좋을 것 같다.
'개발 > Web Programming' 카테고리의 다른 글
[리팩터링] 함수 인라인하기 회고 (0) | 2021.06.02 |
---|---|
[리팩터링] 함수 인라인하기 필사 (0) | 2021.06.02 |
[리팩터링] 함수 추출하기 기법 필사 (2) | 2021.06.02 |
[리팩터링] 테스트 구축하기 (0) | 2021.05.30 |
js로된 React 코드를 ts로 마이그레이션 하면서 느낀점 (0) | 2021.05.16 |