인프런 워밍업 클럽 4기 BE - 2주차 발자국
✅ 강의 수강
학습 요약
의도를 잘 전달하는 주석 작성, 요소 정렬 기준 통일, 관심사 중심의 패키지 분리로 코드의 가독성과 탐색 효율을 높인다.
기존 기능을 해치지 않으며 개선하고, 정렬 도구나 스타일 설정을 통해 일관된 품질을 유지한다.
Optional: null 처리를 명확히 표현하며, 조건 분기 없이 값의 유무에 따라 함수형 스타일로 처리할 수 있다.
일급 컬렉션: 컬렉션을 감싸는 객체로, 컬렉션과 관련된 도메인 로직을 함께 묶어 의미를 부여하고 무결성을 보장할 수 있다.
메서드 내부에서 추상과 구체가 섞이지 않도록, 역할 단위로 메서드를 분리해 동일한 추상화 수준을 유지한다.
데이터를 꺼내와서 처리하기보다, 객체가 스스로 처리하게 하여 책임과 응집도를 높인다.
하나의 객체가 하나의 이유로만 변경되도록 하고, 관련 로직을 모아 유지보수하기 쉬운 구조를 만든다.
학습 회고
단순한 코드 수정이 아닌 의미 있는 구조 개선 작업으로서의 리팩토링을 고민하게 되었다. 이해하기 쉬운 코드라는 것이 뭘 말하는 것인지도 더 잘 이해할 수 있었다. 메서드 분리와 추상화 수준 통일만으로도 코드의 가독성과 유지보수성이 크게 달라진다는 점을 체감했다. 기술적인 개선뿐 아니라 읽는 사람을 고려한 코드 작성을 고민하게 된 한 주였다.
✅ 미션
해결 과정
강의에서 배운 리팩토링 기준들(조건문 정리, 네이밍 개선, 추상화 수준 통일 등)을 정리한 뒤, 실제 코드에 단계적으로 적용했다. 중복된 로직은 enum이나 헬퍼 메서드로 분리하고, 책임에 따라 메서드를 나누는 데 집중했다.
각 단계에서 왜 이 리팩토링이 필요한지를 고민하며 리팩토링의 목적을 의식하려 했다.
미션 회고
평소 막연하게 느껴졌던 리팩토링 작업이 구체적인 체크리스트를 갖고 하나씩 적용하자 훨씬 명확하게 느껴졌다. 이해하기 쉬운 코드를 작성하는데 있어 메서드 단위 책임 분리와 네이밍의 중요성을 실감했다. 단순히 줄이거나 정리하는 수준이 아니라 의도를 드러내기 위한 구조화가 중요하다는 점을 알게 되었다.
댓글을 작성해보세요.