inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

워밍업 클럽 3기 BE 클린코드&테스트 - 2주차 발자국

허진혁
0

코드 리팩토링을 통한 성장: 주간 회고

1. 리팩토링을 시작하게 된 계기

이번 주는 코드 리팩토링을 집중적으로 진행했다. 기존 코드에서 개선할 점을 찾아 수정하는 과정에서 단순한 문법 개선을 넘어, 코드의 유지보수성과 가독성을 향상시키는 것이 얼마나 중요한지 다시금 깨닫게 되었다.

리팩토링을 진행한 코드(PR): GitHub 링크

이 과정을 통해 단순한 기능 구현이 아니라, 보다 효율적인 코드 작성법과 객체 지향적인 사고 방식을 익히게 되었다.


2. 리팩토링 과정과 개선 포인트

(1) 중복 코드 제거 및 메서드 추출

기존 코드에서는 비슷한 로직이 여러 메서드에서 반복적으로 사용되고 있었다. 이를 해결하기 위해 메서드 추출 기법을 적용했다.

(2) 가독성을 높이는 네이밍 개선

리팩토링 전에는 변수명과 메서드명이 애매하여 코드의 의도를 명확히 파악하기 어려웠다. 개선 과정에서 다음과 같은 기준을 적용했다.

(3) 불필요한 의존성 제거 및 클래스 분리

기존 코드에서는 한 클래스가 너무 많은 역할을 담당하고 있었다. 이를 해결하기 위해 책임을 분리하고, 역할에 맞는 클래스를 생성했다.


3. 다른 개발자들의 경험에서 배운 점

이번 리팩토링을 진행하면서 다른 개발자들이 작성한 후기도 참고했다. (Inflearn 블로그 링크 모음)

여러 후기에서 공통적으로 강조하는 몇 가지 핵심 사항을 발견했다.

  1. 리팩토링의 본질은 단순한 코드 변경이 아니라 유지보수성과 확장성을 높이는 것

    • 코드가 동작한다고 끝이 아니라, 더 나은 코드로 개선하는 과정이 필요함.

  2. 리팩토링은 협업과 코드 리뷰를 통해 더욱 효과적으로 이루어진다

    • 혼자 작업할 때는 발견하지 못했던 문제점들이, 코드 리뷰를 통해 드러남.

    • 다른 개발자들의 시각에서 개선점을 찾는 것이 중요함.

  3. 객체 지향 원칙을 적용하는 것이 리팩토링의 핵심이다

    • SOLID 원칙을 고려하며 리팩토링할 때 코드가 더욱 구조적으로 개선됨.

    • 특히 단일 책임 원칙(SRP), 의존성 역전 원칙(DIP) 을 적용하면 코드의 확장성이 크게 증가함.

이번 리팩토링을 통해 나 또한 이 점을 깊이 체감했다.


4. 리팩토링을 통해 얻은 교훈

이번 경험을 통해 얻은 가장 큰 교훈은 "리팩토링은 단순한 코드 수정이 아니라, 코드의 가치를 높이는 과정이다." 라는 것이다.

이러한 리팩토링 경험을 반복하면서, 더욱 성장하는 개발자가 되어야겠다는 다짐을 하게 되었다. 앞으로도 주간 단위로 배운 내용을 정리하며 지속적인 성장을 기록할 예정이다.


앞으로의 다짐

이번 리팩토링 경험을 통해 얻은 교훈을 앞으로도 개발 과정에 적용하며, 더 나은 개발자로 성장해 나가겠다!

백엔드 워밍업클럽3기 클린코드

답변 0