Skip to content
On this page

리팩터링

수정하기
문서 생성 2022-10-31 22:57:11 최근 수정 2022-10-31 23:24:05
On this page

컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다.

좋은 코드를 가늠하는 확실한 방법은 '얼마나 수정하기 쉬운가'다.

캠핑자들에게는 "도착했을 때보다 깔끔하게 정돈하고 떠난다"는 규칙이 있다. 프로그래밍도 마찬가지다. 항시 코드베이스를 작업 시작 전보다 건강하게(healthy) 만들어놓고 떠나야 한다.

💬 주절주절

  • 이곳 저곳에서 추천이 있었기에 자연스럽게 읽게 된 책이다.
  • 처음에 책을 읽었을 땐 너무 이해가 안되는 부분이 많았다. 특히 JavaScript 클래스에 관해서... 혼자 하기엔 벅차서 한 개발자 분의 유튜브 영상을 함께보며 따라했다.
  • 저번에 본 면접에서도 이 책에 대해 이야기 했더니 면접관 한 분이 꼭 읽어보라고, 도움이 많이 된다고 말해주셨다. 그래서 올초에 중간정도까지 읽었는데 이번달에 다시 펼쳤다.
    • 두번째 읽을 때는 읽었던 부분까지 빠르게 다시 읽어본 다음에, 따라하는 건 의미없을 것 같아서 스스로했다. 도저히 이해가 안되는 부분은 앞서 말한 유튜브 영상을 봤는데 정말 많은 도움이 되었고, 감사했다.
    • 몇몇은 유튜브 올리신 개발자분도 의아해하는 내용이 있긴했다. 나는 왜 의아해하시는지 이해조차 어려웠다...
  • 책의 예시들이 A 리팩터링 방법이 나오면 그 A 리팩터링의 반대 리팩터링이 이어서 나와서 좋았다.
    • 책을 통해 방법들을 알게되었으니 서로 반대되는 두 가지 방법에서 적정선을 찾아가는 아주 많~은 경험이 필요해보였다.
  • 리팩터링 그림, 배경, 절차, 예시 순서로 나와있는데 배경을 읽어도 머릿속에 그려지지 않은 부분이 많아 어려웠다. 클래스에 대한 명확한 이해와 경험이 부족함을 느꼈다.
    • 몇 가지 리팩터링은 예시를 마저 읽으면 배경이 비로소 이해되는 경우도 있었다.
    • 결구 n회독이 필요함! -> 짬이날 때 읽어보면 좋겠다. '책에 이런 내용이 있었다.' 하고 떠오르지 않을까?
  • 그래도 한 번 읽어서 그런지, 코딩테스트 문제를 풀 때 변수 이름이라든지, 이해하기 쉬운 코드를 생각하며 작성하게 되었다.
    • 예전에 코테 문제는 정답만 맞추면 장땡이니 변수이름도 막나갔던 것 같다..
    • 나중에 볼 나를 위해 이래선 안된다는 생각이 떠올랐다. 이건 클린 코드에도 나온 내용이다!
  • 12장의 연습문제로 남겨둔다는 말은 나도 저녁을 먹어야 해서 못했따. 물론 저녁을 먹고 나서도 손도 대지 못했다. 나중에 다시 읽었을 땐 이해가 되었음 좋겠다. 소원이다.
  • 저자는 데이터가 불변해야 한다.는 것을 상당히 많이 강조했다.
    • 불변, immutable 얘기는 많이 들었는데 왜 그래야 하는지 예시가 많았다.