워밍업 클럽 2기 백엔드 클린코드&테스트 2주차 발자국

  • 주간 요약

    • 객체 지향 적용: 상속과 조합, Value Object, 일급 컬렉션, Enum 활용, 다형성, 도메인 개념 도출

    • 코드 다듬기: 주석 작성, 변수와 메서드 나열, 패키지 구조화, 버그 수정, 알고리즘 교체, IDE 활용

    • 리팩토링 연습: 추상화 레벨 조정, 객체의 책임과 응집도 개선, 다양한 관점에서의 추상화

    • 개발 철학: 능동적 읽기, 오버 엔지니어링 주의, "은탄환은 없다" 개념

  • 학습 회고

    • 칭찬할 점

      • 리팩토링 연습을 통해 코드 개선 능력을 향상시켰습니다.

    • 아쉬운 점

      • 학습한 내용을 실제 프로젝트에 적용해볼 기회가 부족했습니다.

      • Value Object, 일급 컬렉션에 대해 더 많은 예제를 통한 학습이 필요할 것 같습니다.

    • 보완하고 싶은 점

      • 학습한 개념들을 실제 코드로 구현해보는 연습이 필요하다고 생각합니다.

    • 다음 주 학습 목표

      • 이번 주에 배운 개념 중 하나를 선택하여 기존 프로젝트에 적용해보기

         

  • 주간 미션

    • 접근

      • 기존 코드의 책임 분리와 메서드 개선에 초점을 맞추었습니다.

      • 의존성 주입 방식의 개선, 파일 핸들링 책임 재정의, 초기화 메시지 추가 등 다양한 측면에서 리팩토링을 진행했습니다.

    • 과정

       

      • StudyCafePassMachine 필드 주입 변경

        • 의존성 주입 방식을 개선하여 객체 간의 결합도를 낮추었습니다.

      • StudyCafeFileHandler 책임 재정의

        • 파일 처리 관련 책임을 명확히 하고 관련 기능을 개선했습니다.

      • initializeMessage 추가

        • 초기화 메시지를 추가하여 사용자 경험을 개선했습니다.

    • 결과

      • 책임 분리를 통해 각 클래스와 메서드의 역할을 명확히 하고 코드의 응집도를 높였습니다.

      • 의존성 주입 방식 개선으로 객체 간 결합도를 낮추고 테스트 용이성을 높였습니다.

      • 파일 핸들링 책임 재정의를 통해 관련 로직을 중앙화하고 재사용성을 높였습니다.

      • 초기화 메시지 추가로 사용자 경험을 개선하고 프로그램의 시작을 명확히 했습니다.

댓글을 작성해보세요.

채널톡 아이콘