[우아한테크코스] 프리코스 7기 1주차 회고록
⚙️ 1주 차 목표
1주 차 미션을 시작하기에 앞서 다음과 같은 목표를 세웠다.
- 설계 능력 향상
- 코드 리뷰 열심히 하기
🛠️ 설계
설계를 모른 채로 학교 과제를 수행하거나 프로젝트를 할 때는 그냥 머릿속에 생각나는 대로 구현을 진행하였다. 하지만 아무런 계획 없이 무작정 구현하다가 코드를 갈아엎는 일이 매우 잦아서 프리코스를 시작한 계기로 설계 능력을 향상하고자 목표를 설정하게 되었다.
문자열 덧셈 계산기를 구현하기 위해 아래와 같이 클래스들의 관계를 정의하였다.
- App
- 프로그램이 시작되는 부분
- Validator
- 사용자 입력의 유효성을 검증하는 객체
- Calculator
- 문자열 덧셈 계산을 수행하는 객체
1주 차 미션을 통해 유즈케이스를 간단하게 작성해 보았다. 유즈케이스는 요구 사항 분석에 사용되는 것이라고 들었지만 이것만 작성하더라도 어떤 순서로 어떤 클래스를 만들어야 하고 어떻게 구현해야 하는지 처음부터 감이 잡히는 느낌이 들었다. 역시 설계를 괜히 하는 게 아니구나 느낄 수 있었다.
📢 코드 리뷰
코드 리뷰를 열심히 하고자 했던 이유는 나 혼자서는 학습의 속도가 느리다는 것을 깨달았기 때문이다. 그래서 최대한 다른 분들은 미션에 어떻게 접근하였는지, 어떻게 역할을 분리했는지, 클린코드를 어떻게 작성하였는지, 특정한 기능에서는 어떤 메서드를 사용하여 구현하였는지 하나하나 살펴보며 다양한 기술을 카피하고자 결심했다. 한분 한분 코드를 훑어보며 잘한 부분은 칭찬을 남겨서 기술을 카피하고 개선이 필요해 보이는 부분은 피드백을 남겨 함께 성장하는 발판을 만들었다. 그리고 이러한 과정에서 가장 크게 얻어간 부분은 코드를 읽는 능력이 좋아졌다는 것이다.
그래서 1주 차 미션에서 내 PR에서는 14번의 Conversation이 기록되었고, 총 8명의 PR에 코드 리뷰를 남겼다. 2주 차는 1주 차보다 더 열심히 코드 리뷰를 진행할 예정이다. (시험 기간이어서 가능할지 모르겠지만 ㅜ.ㅜ)
💡 알게 된 점
1주 차 미션을 수행하면서 새롭게 알게 된 점은 아래와 같다.
- 클래스 정적 메서드(static)
- 코드 컨벤션, 커밋 컨벤션
- 테스트 코드 jest 사용법
- 정규식 사용법
- 역할 분리를 잘하는 법
- 코드 리뷰의 중요성
코드 리뷰의 중요성에 볼드체를 넣은 이유는 그 위의 5개중 3개는 코드 리뷰를 하는 과정에서 알게되었기 때문이다. (그렇게 나는 프리코스의 카피닌자가 되기로 결심했다.)
🤔 개선할 점
2주 차 미션에서는 다음과 같은 사항을 개선하기로 하였다.
- 역할, 메서드를 명확하게 잘 분리하기
- 다른 사람의 코드와 비교하면 내 코드는 역할 분리가 잘 안되었다고 생각하기 때문이다.
- 설계 더 열심히 하기
- 프리코스의 주 목적인 설계 능력 향상을 이루기 위해서이다.