본문 바로가기

IT

Refactoring, 리팩토링이란?

우선 리팩토링이란, 기능의 변경은 없으나 코드 이해 및 수정이 쉽도록 다시 작성하는 것을 뜻한다. 참고로 개발 중에 수행하는 행위

결국 향후 SW유지보수 생산성 향상, 품질 향상을 목적으로 이루어지는 행위이다.

리팩토링의 기법은 매우 다양하다.
메소드의 위치를 변경하던가, public 필드를 private 필드로 옮겨서 접근자를 만들던가, 클래스의 분리 등
사실 기법이라 할 수 있을까,, 보편적인 프로그래밍 언어 문법책에 나와있는 개발 가이드라인과 같은 것들인데..

리팩토링을 적용 시 고려사항으로는 리팩토링 시 의도치 않는 구조 변경 발생을 대비하여 철저한 회귀테스트 혹은 테스트수행을 하라는데
촉박한 개발기간, 잦은 요구사항변경 속에서 가능한 일인 것일까?

바라보는 방향은 참 좋으나, 현실은 시간이 촉박하여 생산성이고 유지보수고 뭐고 일단 기능이 작동되는 것 처럼 보이게 내놓는게 개발사들인데..
자사제품을 제작하는 곳이면 모르겠으나, 공공기관 SW발주자 입장에서는 그리 중요한 개념으로 느껴지진 않는다.