Code-Refactoring(코드 리펙토링) 이란??✍✍

이기곤·2022년 3월 20일
3

Code-Refactoring(코드 리펙토링) 란??

리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다.
1. 주로 가독성을 높이고 유지보수를 편하게 한다.
2. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다.
3. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 개선하는 유지보수 행위이다.

리팩터링의 잠재적인 목표소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것이다. 리펙터링은 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 유지 보수성을 개선하고 확장성을 개선하기 위해 더 단순하고, 깔끔하거나, 표현력이 뛰어난 내부 아키텍처 또는 객체 모델을 만들 수 있게 한다. 그리고 소프트웨어 엔지니어는 더 빠르게 수행되거나 더 적은 메모리를 사용하는 프로그램을 작성해야 하는 지속적인 과제에 직면해 있기에 성능 향상이 리팩터링의 또다른 목표가 된다.

쉽게 말해 현재 코드의 동작은 그대로 유지하면서 더 이해하기 쉽고, 생각하기 쉽고, 확장하기 
쉽게끔 재구성하는 것이다.

Refactoring의 목적

리팩토링의 목적은, 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것
리팩토링은 성능을 최적화시키는 것이 아니다. 코드를 신속하게 개발할 수 있게 만들어주고, 코드 품질을 좋게 만들어준다.
코드가 이해하기 쉽고, 수정하기 쉽다면? → 개발 속도가 증가!

Reafctoring의 사용 시기

  • 삼진 규칙(3번의 중복 / 3번의 같은 행위를 한다면 리팩토링을 진행하자.)
  • 기능을 추가할 때 리팩토링을 하자.
  • 버그를 수정해야 할 때 리팩토링을 하라.
  • 코드 검토(Code Review)를 할 때 리팩토링을 하라.

Reafctoring의 절차


-소규모 변경 후 동작여부를 테스트하고 작동할 경우 다음단계, 그렇지 않을경우 undo 후 리팩토링

CleanCode vs CodeReafctoring

리팩토링이 더 넓은 의미를 가진다.
클린 코드는 단순히 가독성을 높이기 위한 작업으로 이루어져 있다면,
리팩토링은 클린 코드를 포함한 유지보수를 위한 코드 개선이 이루어진다.
클린코드와 같은 부분은 설계부터 잘 이루어져 있는 것이 중요하고,
리팩토링은 결과물이 나온 이후 수정이나 추가 작업이 진행될 때 개선해나가는 것이 올바른 방향이다.

참고자료

profile
개발자로 성장중......

0개의 댓글