우아한 테크코스 5기 프리코스 4주차 후기

POII·2022년 11월 23일
0
post-thumbnail

4주차 미션의 학습 목표

이번 주 미션의 학습 목표는 클래스 분리리팩터링이었다.

클래스 분리

3주차에서 클래스 분리에 대해 고민해봤던 경험 덕분인지, 4주차에 미리 주어진 클래스들과 메소드가 명확해서인진 모르겠지만 확실히 3주차에 비해 클래스를 분리하는 과정이 수월했다.

한 클래스가 한가지 책임만 갖도록 하는 것을 잊지않으며 클래스를 구성하니 잊고 있던 기능을 추가하거나, 잘못 구성했던 로직을 수정해야 할 때 손대야 할 영역이 확연하게 좁아졌다.

이렇게 클래스를 분리하면서 UI 를 담당하는 클래스도 자연스레 분리하게 되었고 그 결과과 테스트 코드의 작성 난이도의 하락으로까지 이어졌다.

또, 그런 테스트 코드가 명확히 메소드의 동작을 보장해주니 리팩터링 또한 자신있게 진행할 수 있었다.

리팩터링

리팩터링을 할 때에는 읽기 좋은, 고치기 좋은 코드를 만드는 것을 목표로 삼았다.

누군가 주요 로직을 실행하는 코드를 볼 때 한줄, 한줄 코드를 해석하지 않아도 쉽게 이해할 수 있도록 작성하면 이런 목표를 달성하는 것이라고 생각했다.

이를 위해 명확한 한 가지 기능을 담당하도록 메서드를 분리를 하고 이에 걸맞은 이름을 짓기 위해 노력했다.

그러다보니 처음엔 걱정했던 메소드는 10줄 이하로 작성하라 라는 조건을 자연스레 만족시킬 수 있었다.

그 외

enum 이 녀석은 아직 모르겠다..
이번엔 위 아래 이동을 뜻하는 문자 'U'와 'D'에 enum을 적용해보려고 했지만, 그냥 상수로 쓰는 것보다 효율적으로 코드를 작성하지는 못했던 것 같다.

enum 자체를 비즈니스 로직을 포함한 데이터 오브젝트처럼 사용하고 싶었는데 다 만들고 보니 그냥 더러운 코드를 만드는데 한 몫 하는 클래스가 되어있었다...

다른 분들 코드를 보니 감이 그나마 조금 오긴했지만 enum에 대한 공부는 확실히 필요할 것 같다.


이번주로 프리코스 4주가 전부 끝났다.

많이 배웠고, 그만큼 내가 모자라다는 것도 많이 느꼈다.

정말 갈 길이 멀다.

사실 이번 프리코스 기간 중 다른 할 일도 많았기에 중간에 포기할까 생각한적도 있었지만 그러지 않았던 것이 정말 다행이라고 생각한다.

매주 미션을 진행하고 후기를 작성하며 이런 고민을 스스로 할 수 있게 된 것에 놀랐고, 확실히 꾸준히 성장할 수 있는 4주였다.

최종 코테에 갈 수 있으면 물론 더 할 나위 없이 좋겠지만, 그렇지 못하더라도 충분히 의미있는 시간을 보낸 것 같아 다행이다.

오늘 하루만 좀 푹 자고 내일부턴 다시 미뤄놨던 학교 과제와 다른 프로젝트에 집중해야겠다 ㅎㅎ.. 화이팅!!!

profile
https://github.com/poi1649/learning

0개의 댓글