🐱리팩토링(refactoring) 이란?
리팩토링의 사전적 의미는 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다고 한다.
이는 사용자가 보는 외부 화면은 그대로 두면서 구조를 개선하는 유지보수하는 것을 의미한다.
리팩토링으로 인해 기대할 수 있는 이점으로는
- 가독성 향상 (변수나 함수의 이름으 명확하게 지정 / 중복코드 제거 등...)
- 유지보수성 향상(기능을 작은 단위로 분해 -> 재사용 가능)
- 성능 향상(더 효율적인 알고리즘 사용 / 불필요한 연산 줄이기)
등이 있다!
🧓리팩토링 방법
리팩토링의 방법은 매우 다양하지만 일반적으로 사용되는 방법 몇가지를 정리하려고 한다!
- 긴 함수나 메서드는 작은 단위로 나눈다.
- 복잡한 조건문을 간소화하여 가독성을 높인다.
- 불필요한 반복문을 줄인다.
- 큰 클래스는 작은 클래스로 분할하여 단일 책임 원칙을 준수한다.
- 불필요한 코드(변수,함수,클래스) 제거
- 변수,함수,클래스 등의 이름을 명확하게 한다.
- 적절한 디자인 패턴을 적용한다.
- 필요하다면 주석을 이용해 코드의 의도를 명확히 설명한다.
🧚♀️참고
https://ko.wikipedia.org/wiki/%EB%A6%AC%ED%8C%A9%ED%84%B0%EB%A7%81
리팩터링 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애
ko.wikipedia.org
마켓컬리 개발자님이 쓰신 블로그글인데 순서를 이해하는데 큰 도움이 됐다!
https://helloworld.kurly.com/blog/rms-refactoring/
코드 악취를 맡는 후각 훈련의 시간
한 달, 각 잡고 리팩토링하기 좋은 시간, 그 기록의 공유
helloworld.kurly.com
'💻 It' 카테고리의 다른 글
| 쿠키, 세션의 차이점 (0) | 2023.12.04 |
|---|---|
| JSON(JavaScript Object Notation) 이란? (1) | 2023.10.06 |
| Thread(쓰레드)란? (0) | 2023.09.10 |
| 레거시 코드(Legacy Code)란? (0) | 2023.09.04 |
| [NETWORK] HTTP란? (1) | 2023.08.24 |