[2022-03-05] - 리팩토링

Onni·2022년 3월 5일
0

✅ 리팩토링 시점

  • 이걸 우리가 지금 당장 고쳐야 하나? 생각해 봐야함
    -> 내가 지금 해야하는 일에 영향을 받지 않고 쉽고 빠르게 고칠수 있나?
    Ex) 메서드 이름 고치기
  • 리팩토링 범위를 결정하는것이 가장 중요

✅ 리팩토링 작업 종류

✔ 쓰레기줍기

  • 이미 작성된 코드를 볼때 동작하는 코드를 분리하고 이상하게 돌아가는거 같은 코드를 고침
  • 항상 이전처럼 깨끗한 상태가 되도록

✔ 이해를 위한

  • 코드를 보고 이해 안될때
  • 복잡한 코드가 어떻게 동작하는지 알아내고 다음으로 이 코드를 보는 사람들이 명확히 알 수 있도록 리팩토링

✔ 준비를 위한

  • 어제까짐 괜찮은 코드였는데 새로운 기능을 추가하고 보니 코드가 좀 이상할때
  • 새로운 코드를 적용했을 때 코드가 적절하지 않다고 생각되면 개발자는 리팩토링을 통해 코드를 정리
  • 리팩토링을 통해 잘 정돈 되지 않은 코드를 수정하고 새로운 기능 추가해야함
  • 새로운 코드가 기존코드에 잘 녹여져 있지 않다고 생각할때는 신규 코드 작성을 멈추고 리팩토링 진행

✔ 계획된 리팩토링

  • 리팩토링을 프로젝트 중간에 끼워 넣어서 수행
  • 프로젝트 계획에서 리팩토링을 끼워넣어 매번 코드를 깨끗하게 만듦
  • 단점: 리팩토링 해야할 이유를 찾아내야함 -> 지양

✔ 장기적인 리팩토링

  • 큰 덩어리의 코드를 수정해야할때
    Ex) 다양한 모듈이 복잡한 디팬던시 가지고 있을때
  • 작은 단위로 정해진 목표에 달성하도록 리팩토링 수행해야함

✅ 왜 리팩토링을 해야하나?

더 많은 기능을 더 빠르게 적용하기 위함

  • 소프트웨어 설계이 신경을 쓰지 않으면 시간이 지날수록 개발 속도가 현저히 떨어짐
  • 개발자가 신규기능 추가할때 복잡한 코드 로직 이해하는데 시간 오래걸림
  • 리팩토링시 코드가 모듈별로 잘 쪼개져 있어서 새로운 기능을 추가할때 매우 편리
profile
꿈꿈

0개의 댓글