[Refactoring] 리팩토링이란?
📌 리팩토링(Refactoring)이란?
리팩토링은 겉으로 드러나는 코드의 기능(겉보기 동작)은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정이다.
버그가 생길 가능성을 최소로 줄이면서 코드를 정리하는 정제된 방법이다.
즉, 리팩토링한다는 것은 코드를 작성하고 난 뒤에 설계를 개선하는 것이다!
📌 왜 하는 걸까?
처음부터 좋은 설계를 가지고 개발을 한다면 좋겠지만 시간이 흐르면서 코드는 계속 수정되고 설계에 맞춘 구조는 점차 뒤죽박죽이 되어간다.
그래서 처음부터 완벽한 설계를 갖추기보다는 개발을 진행하면서 지속적으로 설계한다. 시스템을 구축하는 과정에서 더 나은 설계가 무엇인지도 배울 수 있게 된다.
그 결과, 개발의 시작부터 끝날 때까지 프로그램은 줄곧 우수한 설계를 유지할 수 있다.
📌 언제 하는 걸까?
-
3의 법칙
3번 중복되면 리팩토링 -
기능 추가시
더러운 코드를 처리해야하는 경우 먼저 리팩토링
새로운 기능을 더 쉽게 추가 가능 -
버그 수정시
코드를 정리하면 오류 발견 가능 -
코드 리뷰 중
런칭하기 전 코드를 정리할 수 있는 마지막 기회
짝을 이루어 진행시 더 빠르고 간단하게 리팩토링 가능
📌 리팩토링의 위험
- 버그 발생
동작하는 코드 수정 과정에서 버그가 생길 수 있음
잘못 수행하면 오히려 며칠 혹은 몇 주간의 노력이 수포로 돌아갈 수도...😂
- 계획적이고 체계적이여야 함
즉흥적으로 실시하는 리팩토링은 더욱 위험
각 기법의 절차를 이해하고 한번에 한 단계씩 차근차근 수행해야 함
📑 참고 자료
- 리팩터링 2판 (마틴 파울러 / 한빛미디어 / 2020)
- https://refactoring.guru/refactoring
Author And Source
이 문제에 관하여([Refactoring] 리팩토링이란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hi_potato/Refactoring-리팩토링이란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)