본문 바로가기
개발 도서

Five Lines of Code - 2장. 리팩터링 깊게 들여다보기

by 성건희 2023. 8. 19.
반응형

코드를 개선하는 방법

  • 가독성을 높이자!
    • 가독성 : 의도를 전달하기 위한 코드의 성질
    • 가독성을 높이기 위해서는 코딩 컨벤션을 지정하고 따르기, 네이밍 잘 짓기, 공백 사용 등이 있다.
  • 유지보수성을 좋게하자!
    • 유지보수성 : 얼마나 많은 후보를 조사해야 하는지를 나타내는 표현
    • 변경포인트가 많으면 기능을 추가했을 때 변경해야 할 부분이 많아져서 버그가 발생하기 쉽다.
    • 조사 단계에 시간이 오래 걸린다는 것은 코드 유지보수성이 나쁘다는 징후이며 개선이 필요하다.

리팩토링 시 성능이 떨어지면요?

리팩토링을 진행하다보면 성능이 떨어지는 상황이 있을 수 있다.
가령, 하나의 for 문 안에서 수행하던 작업들을 리팩토링으로 메서드를 분리했더니 for 문이 2개가 생겼다든지..

하지만 리팩토링 중에는 코드가 느려지는 것에 신경을 쓰지 않는다.

  • 대부분의 시스템에서 성능은 가독성과 유지보수성보다 가치가 떨어진다.
  • 성능이 중요한 경우 프로파일링 도구나 성능 전문가의 지도를 받아 리팩토링과 다른 단계에서 처리해야 한다.

범위가 제한되지 않은 불변속성을 도입하는 방법

상속과 컴포지션 방식이 있다.

  • 상속보다는 컴포지션 방식을 사용하자.
  • 어떤 기능이 추가되었을 때 상속을 사용하면, 사용하는 모든곳에 재정의를 해주어야 한다. (새로운 기능을 사용하지 않는 곳에서도..)
  • 컴포지션 방식을 사용하면, 해당 기능이 필요한 곳에서만 재정의하면 된다.

컴포지션 방식의 장점

  • 기존 기능에 영향을 주지 않고 기능을 추가하거나 변경할 수 있음 (OCP)
반응형

댓글