엔지니어로 가는 길

아무리 간단한 리팩터링이라도 신중하게 본문

private note/일기?

아무리 간단한 리팩터링이라도 신중하게

탐p슨 2022. 10. 24. 22:03
728x90

저번 정기 배포 때 리팩터링 했던 부분에서 실수가 있었다. CS가 인입됐고, 비정기 배포를 나가야 할 것 같다. 매우 간단한 수정이었는데, 그래서 방심했던 걸까.

 

리팩터링에서 가장 중요한 것은 리팩토링 전과 리팩토링 후가 같은 결과를 내야 한다는 것이다. 이걸 확신할 수 있는 방법은 눈이 아니라 테스트이다. 반드시 수정하려는 부분에 대한 테스트가 존재하는지 확인하고, 테스트가 존재한다면 수정하기 전후로 실행하여 같은 결과를 낸다는 것을 확인해야 한다. 수정하려는 부분에 대한 테스트가 없다면 테스트를 작성하고 수정해야 한다.

 

리팩터링 과정에서 실수를 하거나 사이드 이펙트가 발생해서 문제가 될 때면 리팩토링에 대한 의지가 사라지기 쉽다. 리팩토링을 한다고 해도 겉에서 볼 때는 티가 나지 않고, 지금도 멀쩡히 동작하는데 괜히 건드렸다가는 문제가 생길 수 있기 때문이다. 하지만 리팩토링은 리스크를 감수할만한 가치가 있는 과정이다. 리팩토링 과정에서 문제가 생겼다면 리팩토링을 그만두는 게 아니라 어떻게 하면 리팩토링 과정에서의 문제를 줄일 수 있을지 생각해야 한다.

728x90
Comments