Development./Refectoring.

Refactoring 이란?

Chuuu_DevCamp:) 2020. 7. 26. 00:10
반응형

Refactoring이 무엇인가?

Refactoring이란, 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스입니다.
코드가 작성된 후 디자인을 개선하는 작업으로, 모든 것을 미리 생각해서 구현하기 보다 개발을 하면서 지속적으로 좋은 소프트웨어 디자인을 갖도록 하는 것입니다.
따라서, Refactoring을 할 때는 기능을 추가해서는 안 되고, 단지 코드의 구조 개선에만 신경 써야 합니다.

Refactoring을 해야 하는 이유?

Refactoring을 하면, 소프트웨어 디자인을 개선 시킬 수 있습니다. 소프트웨어의 의도된 디자인은 시간이 갈 수록 망가져 가는데, 정기적인 Refactoring은 코드가 디자인을 유지하도록 도와 줍니다.
소프트웨어를 더 이해하기 쉽게 만들며, 버그를 찾기 쉽도록 해 줍니다.
또한, 소프트웨어를 빨리 작성하도록 도움을 줍니다. 소프트웨어 개발 속도를 유지하기 위해서는 좋은 디자인이 필수적입니다. Refactoring은 시스템의 디자인이 나빠지는 것을 방지하며, 빨리 개발할 수 있도록 도와줍니다.

언제 Refactoring을 할까?

  • 삼진 규칙: 3번의 중복 / 3번의 같은 행위를 한다면 Refactoring을 진행할 것
  • 기능을 추가할 때
  • 버그를 수정해야 할 때
  • Code review를 할 때

언제 Refactoring을 하지 말까?

  • 현재의 코드가 동작하지 않을 때
  • 마감일에 가까울 때. 마감일 이후에 작업하는 것을 추천
  • 어떠한 작업을 하는데, 계속 시간이 부족하다는 느낌이 오면, Refactoring이 필요하다는 신호이다.