적당히 살기 1일차 - 리팩토링

smith_94·2022년 6월 9일
0

나름대로 적당히 살기 1일차
내일이 2일차가 아닐 수도 있음

오늘은

리팩토링이다. 아래 책을 참고했다.
책이 조금 어려울 수 있다. 그래서 쉬운 것만 정리했다.
나머지는 나 혼자 봤다. 궁금하면 찾아보는 것을 추천한다.

정의

 여러 가지 리팩토링 기법을 적용하여 코드를 이해하고 수정하기 쉽도록 내부 구조를 재구성한다. 이때, 리팩토링 전과 후의 프로그램 동작은 동일해야 한다.

 리팩토링 후, 프로그램의 성능이 반드시 좋아지는 것은 아니다. 오히려 나빠질 수 있으며, 성능이 좋아지는 것을 목표로 한다면 코드는 더 어렵게 바뀔 수 있다.


이유

 목표 달성만을 위한 코딩이 반복된다면 여러 곳에서 중복된 코드가 발생하거나 프로그램의 내부 구조가 복잡해질 수 있다. 이는 프로그램의 설계를 파악하거나 코드를 이해하는 데에 어려움을 줄 수 있다. 결과적으로 기존의 기능을 수정하거나 새로운 기능을 추가하는 데에 더 많은 시간이 소요되게 한다.


목적

  1. 내부 구조를 명확하게 한다.
  2. 코드의 의도를 명확하게 하고, 이해하기 쉽게 한다.

목표

 코드의 구조를 쉽게 파악할 수 있도록 하여, 새로운 기능을 추가하거나 기존의 기능을 수정하는 데에 소요되는 시간을 단축시킨다.


방법

1. 함수와 변수의 이름을 변경한다.

  • 이름만 보고도 어떻게 사용되는지 명확하게 알 수 있어야 한다.

2. 중복된 코드를 정리한다.

  • 중복된 코드를 하나로 통합하여 사용한다. 똑같은 구조나 기능을 가진 코드가 여러 곳에서 존재하고 있을 때, 해당 기능을 수정하면 비슷한 코드들을 전부 확인해야 하는 소요가 있을 수 있다.

3. 함수를 분리한다.

  • 함수를 기능적으로 구분하여 분리하고, 간접 호출하여 사용한다. 함수 내에서 주석으로 구분해야 하는 영역이나 조건문, 반복문도 대상이 될 수 있다. 이때, 함수의 이름은 코드의 목적이 드러나도록 설정한다.
  • 지나친 분리로 쓸데없는 간접 호출이 발생하는 경우를 주의한다.

4. 복잡한 표현식을 변수 또는 함수로 추출한다.

  • 표현식이 복잡하여 이해하기 어려운 경우, 변수나 별도의 함수로 추출하여 사용할 수 있다. 이때, 변수나 함수의 이름은 코드의 의도가 명확하게 드러나도록 설정한다.

5. 반복문을 파이프 라인으로 변경한다.

  • 반복문과 조건문으로 구성된 코드를 파이프 라인으로 수정하면 처리 과정을 쉽게 이해할 수 있다.

6. 사용하지 않는 코드를 제거한다.

  • 사용하지 않는 변수나 호출되지 않는 함수를 제거한다.

0개의 댓글