2주차 발자국

1. 학습 및 미션 회고

2주차 키워드: 리팩토링

day6 - 코드를 다듬는 방법들

day7 - 리팩토링 실습 미션

day8 - 리팩토링 강의

day9 - 테스트 소개

day10 - 중간점검 코드리뷰

 

2주차는 리팩토링 진행이 거의 대부분이여서 학습 회고와 미션 회고를 같이 작성하겠다.

먼저 좋은 주석 남기기와 메서드의 자연스러운 순서에 대해 학습한 후,

연습 프로젝트 소개 강의를 보고 day7 미션 스터디 카페 이용권 선택 시스템 리팩토링을 진행했다.

소개 강의에서 리팩토링 포인트들로 추상화레벨, 일급컬렉션, 객체지향원칙 등을 꼽았고, 그에 맞춰 진행해보려고 했다.

처음에 코드를 봤을 때... 변수명도 헷갈리고 어디서부터 어떻게 손을 대야할 지 막막했다.

Pass 라는 개념이 반복되고, 이용권과 사물함 이용권이 비슷한 기능을 수행하고 있어서

이용권을 추상화하고 좌석과 사물함을 구체화했다.

그리고 금액도 나오고 할인이벤트 등의 개념이 있어서 주문이나 이벤트 객체도 추가해야 하나 고민을 했지만..

스터디 카페만 생각해 봤을 때는 좀 단순해도 되지 않을까란 생각에 별도 객체를 두진 않았다.

다만, 이용권을 갖는 일급컬렉션을 두고, 일급컬렉션이 가진 이용권들에게 금액과 할인 금액을 묻는 방식으로 해결했는데

다시 생각해보면 이용권 일급컬렉션이 너무 많은 일을 하고 있었나? 라는 생각도 든다.

파일 입출력은 어떻게 손을 대야할 지 어렵기도 했고.. 얘가 변경이 있을까 하고 합리화하고

그대로 두고 제출하는 것으로 day 7 미션을 마무리했다.

이후 강사님이 진행한 리팩토링 강의와 중간점검 코드리뷰를 보면서

조금 더 시간을 갖고 고민해볼걸, 왜 저런 부분들은 생각을 못했을까 하는 반성도 했다.

 

벌써 2주차 발자국이다.

3주차 4주차의 강의들과 미션들도 잘 마무리해보자

 

학습 출처

인프런 워밍업 클럽 스터디 4기 - 백엔드 클린코드, 테스트 코드

수강 강의:

Readable Code: 읽기 좋은 코드를 작성하는 사고법 - 박우빈

댓글을 작성해보세요.

채널톡 아이콘