리팩터링을 꼭 해야 하나..?

(개발자경수님의 인스타툰)

2021년 3월 졸업작품을 코딩하던 중 든 생각이었다.
어차피 백엔드는 나 혼자 개발할 코드이고 기획 말고 추가 기능을 넣을 것이 없기 때문에 이미 만들어 놓은 API는 바뀌지 않을 것 같았다. 즉 유지보수가 필요 없다고 생각했다. 그렇게 수많은 버그를 수정하고 이걸 고치면 저게 고장 나고 저걸 고치면 이게 고장 나는 과정을 수 없이 반복하여 졸업작품을 완성하게 되었다. 곧바로 졸업작품 발표와 이어지는 교수님들의 압박 질문들.. 5개월간의 준비는 무성하게 완성 이후는 순식간에 지나갔다. 하지만 어느 날 문득 든 생각이 내 머리를 내려쳤다. 바로 졸업작품의 의의를 잊고 있었다. 


1. 현재 혼자 개발하지만, 내가 일하는 곳은 조직이기 때문에 유지보수가 쉽고, 잘 정돈된 코드를 짜야할 의무가 있다.

2. 졸업작품과 내가 작성한 코드는 나의 성취를 달성하는데 목표도 있지만, 나를 채용할 사람이 볼 코드가 된다.

이러한 생각을 한 뒤 내가 작성한 코드를 보니 부끄럽기 그지없었다. 최근 프로젝트의 설계에 대해 많은 관심을 가지게 되었다. 왜냐하면 여태 나 혼자 작업했던 프로젝트들은 모두 기능 추가 or 수정 시 모두 알 수 없는 곳에서 오류를 일으켰다. 그래서 다른 기능이 한동안 안되다가 뒤늦게 버그를 찾아서 고치는 일이 태반이었다. 하지만 테스트 코드를 잘 작성하였다면, 어떤 일부 기능을 수정하더라도 직접 테스트할 필요 없이 확인할 수 있는 좋은 장치가 있음에도 불구하고 나는 사용할 줄 몰랐던 것이었다. 그래서 졸업작품과 앞전에 작성한 코드들을 모두 리팩터링 하고 테스트 코드를 작성하고 설계를 다시 짜 보려고 한다. 아마 리팩터링 과정은 리팩터링 2판을 읽으면서 배운 내용을 토대로 하게 될 것이고 테스트 코드는 jest를 사용하여 개선한 점을 블로그에 작성할 것 같다.

사실 이러한 내용들을 먼저 알고 프로젝트 초기부터 했으면 좋았겠지만, 그랬다면 겪어보지 못하고 사용하기 때문에 '왜' 해야 하는지 체감하기 어려웠을 수도 있다. 비록 뒤늦게 알았지만 지금이라도 알았음에 감사하고 지금부터라도 앞서 했던 프로젝트들을 잘 갈고닦아 보려고 한다.

'회고 > 2021' 카테고리의 다른 글

[회고] 2021년 회고  (0) 2021.12.23
[회고] EO 한달어스, 박지웅 대표님의 이야기  (0) 2021.11.07
[회고] 생에 첫 퇴사 회고  (4) 2021.10.12