TIL
2022-04-01
오늘 읽은 범위
7장 코딩하는 동안 273 p - 348p
기억남는
- 가면 증후군 - 277p
- 리팩터링 - 301p
가벼운 소감
- 리팩터링 마틴 파울러 - 밖으로 드러나는 동작은 그대로 유지한 채 내부 구조를 변경함으로써 이미 존재하는 코드를 재구성하는 기법.
- 체계적이다. 아무렇게 하는게 아니다.
- 밖으로 드러나는 동작은 바뀌지 않는다. 기능 추가하는 작업이 아니다.
즉 무질서하게 대규모
로 코드를다시 쓰는 것이 아닌 정확한 목적을 가지고 정밀하게 접근하는 활동이다. 이럼으로써 코드를 바꾸기 쉽게 유지하는 것이다.
이전에 mysql 트랜잭션 관련 wrapper 함수 리팩토링 생각이 났다. 당시 결과는 같은데 내부 구조만 잘 바꾼것이 제대로 리팩토링을 했구나 생각한다.
리팩터링 간단한 조언
- 리팩터링과 기능추가를 동시에 하지마라
- 리팩터링을 시작하기 전 든든한 테스트가 있는지 먼저 확인해라.
할 수 있는한 테스트를 자주 돌려봐라. 내가 바꾼 것 때문에 무언가 망가졌을 경우 빠르게 알 수 있다.
- 단계를 나누어서 신중하게 작업하라. 리팩터링에서는 국지적인 변경들이 모여 커다란 규모의 변화를 낳는 일이 자주 생긴다.
기나긴 디버깅 작업을 피할수 있다.