리팩터링(refactoring)과 나 자신의 리팩터링에 관하여

LOCA·2022년 7월 12일
0
post-thumbnail

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

매일 혼자 뭔가 만들며 뚝딱대다 문득 현타가 왔다.
나는 더 성장하고 싶은데..

국비지원이나 부트캠프에서 새로운 신입 개발자들이 쏟아져 나오는데...
독학(이긴한데, 매일 회초리질하는 현직FE개발자인 친구가 옆에 있긴함🌝)
으로 여기까지 와서 항상 비슷한 것들만 만들어 오다 보니

❔❓이렇게 해서 내가 개발 실력이 늘 수는 있을까 하는 생각이 들었다.

포트폴리오에 올릴만한 뭔가 대단한걸 만들고 그 과정에서 코드하나에 열시간동안 머리 꽁꽁 싸매는 그런상황이 와야 내가 성장할수 있지 않을까 하는 그런 생각.

새로운 스택들을 많이 많이 써보고 익숙해지고 싶다는 생각.

그런 생각들이 머릿속을 꽉 채우기 시작하더니 조급함이 밀려왔다.

그렇게 현직 개발자인 친구에게

"야! 나 새로운기능 들어간 것들 만들어 보고싶다!! 팀원 구해서 포트폴리오 근사한거 만들고 싶다 여러가지 많은 스택들 다~~ 써보고 싶다! 괜찮겠지?"

하는 질문을 하게 되었다.

그리고 돌아오는 답변

"좋은 자세다. 좋은 자세는 맞는데. 내기준에서 니가만든 것들의 코드나 구조들을 봤을때, 솔직히 제대로 다 완벽하게 마무리 돼었다고는 느낀적이 없다.

응애 개발자라 그럴순 있긴 한데 ,

너 니가 만든 프로젝트든 토이프로젝트든 한번이라도 리팩토링 할 생각은 해봤냐 ? 새로운거 하고 싶은건 알겠는데, 내가보기엔 니 프로젝트들 리팩토링을 해보는게 더 우선인거 같다. 그것 부터 해보고 새로운거 해라 !!

내가 오늘 한 회사일도 대부분 내가 짰던 코드 재사용성과 효율적인 렌더링을 위해 리팩토링 한 것들이 대다 수였다. "

라며 친구가 인증샷도 보내왔다.

내 기준에서는 기능도 구현 됐고, 이정도면 괜찮다 하고 마무리 했던 코드들이 현직 개발자인 친구의 눈에서는 좋은 코드가 아니었던 것이다.

현직에 있는 개발자도, 본인의 코드 리팩토링에 시간을 쏟는데, 취준생인 나는 그렇지 않았다는걸 깨달았다.

물론 좋은 코드가 뭔지를 알아야 리팩토링도 할 수 있다지만,
좋은 코드가 뭔지 아는 눈을 키우는 것도 중요함에도,

내코드에 대해 스스로 만족하고 넘어가기만 했던 것들이 좋은 방향은 아니 었다는 것임을 깨달았다.


새로운 것들에만 연연하며 , 내가 이전에 짰던 코드들을 더 효율적이고 좋은 구조로 다시 리팩토링 해볼순 없을까 하는 고민을 해보지 않았던 것에 대해 반성 할 수 있는 날이었다.

새로운 스택들을 쌓아나가기 이전에, 내가 해왔던 것들을 한번더 되돌아보고, 점검하고, 고치고, 즉 리팩토링을 해나가며 새로운 블럭들을 쌓아나가야 겠다.

오늘과 내일은 내 프로젝트들을 다시 리팩토링 하고, 코드 재사용성을 높이고, 폴더 구조도 점검하며 깔끔하게 정리하는 날이될 거 같다.

오늘은 다른 부분에서 성장하는 날이 었던 것 같다. 🤘

profile
helloWorld

0개의 댓글