Chapter 02 : 리팩터링 원칙

nevertheless my pace·2023년 1월 25일
0

2.1 리팩터링 정의

[명사] 소프트웨어의 겉보기 동작은 그대로유지, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법

[동사] 겉보기 동작은 그대로 유지한 채, 여러가지 리팩터링 기법을 적용하여 소프트웨어를 재구성하다.

  • 리팩터링하다가 코드가 깨져서 며칠이나 고생했다 라고 한다면 십중팔구 리팩터링 한 것이 아니다...(뜨끔)

  • 리팩터링하기 전과 후의 코드가 똑같이 동작해야 한다

2.2 두 개의 모자

  • 기능추가
  • 리팩터링
    기능 추가를 하다 보면, 코드 구조를 바꿔야 작업하기 쉬운데 그럴땐 잠시 모자를 바꿔쓴다
    2.2 에서 말하고자하는것이 무엇인지 공감이 된다. 기능개발부터 하고 리팩터링 하던지 리팩터링 확실히 하고나서 기능개발 하던지 명확하게 하라는 뜻이다.

2.3 리팩터링하는 이유

리팩터링하면 소프트웨어 설계가 좋아진다

  • 중복 코드 제거는 설계 개선 작업의 중요한 한 축을 차지한다.

리팩터링하면 소프트웨어를 이해하기 쉬워진다.

  • 컴퓨터에게 시키려는 일과 이를 표현한 코드의 차이를 최대한 줄여야한다.

2.4 언제 리팩터링 해야 할까?

3의법칙
1. 처음엔 그냥한다
2. 비슷한 일을 두 번째로 하게 되면(중복이 생겼다는 사실에 당황스럽지만), 일단 계속 진행한다.
3. 비슷한 일을 세 번째 하게되면 리팩터링 한다. -> 일명 "삼진아웃 리팩터링"

0개의 댓글