[우아한테크코스 프리코스 6기] 1주차 회고

osohyun0224·2023년 10월 28일
0
post-thumbnail

저는 지난 1주 동안 아래와 같은 것들을 배우고 느꼈습니다.

1. Javascript 기본 문법 복습

저는 프로젝트에서 기능 구현에 치중하는 생활을 한동안 해왔습니다. 따라서 순수 바닐라 Js로 코딩을 해본 것이 정말 오랜만이었습니다. 프레임워크를 사용한 웹 프론트 개발을 하다 보면 항상 자바스크립트 실력이 중요하다고 느꼈지만, 프로젝트를 하다 보니 시간 내어 혼자 끝까지 공부를 하기 힘들었습니다. 이번 프리코스를 시작하면서 자바스크립트 기본 문법을 복습하고, 객체부터 클래스, 메소드까지 다시 한번 공부하며 제가 생각한 대로 순수한 코딩 실력을 높인 것 같아 뿌듯했습니다.

2. 코드 가독성에 집중

저는 프로젝트를 하면서 제 코드를 이렇게 일주일 동안 고민하며 리팩토링을 해본 적이
없었습니다. 일주일 동안 숫자 야구 게임 구현한 것을 점점 가독성이 높게 클래스를 분리하면서 한 함수에 한 기능만 구현될 수 있도록 노력하며 리팩토링을 해왔습니다.

처음부터 클래스와 함수를 분리하면서 하는 것은 단기간에 아직 어려웠습니다. 따라서 처음엔 app.js play() 메서드에 모든 기능을 다 구현하고, 기능 별로 분리하면서 점점 제 코드를 리팩토링 해가는 과정에 재미를 느꼈습니다. 오랜만에 정말 한 문제를 가지고 긴 시간 몰입해서 문제를 풀고, 코드 가독성에 집중해 구현해 내었던 귀중한 경험이었습니다.

리팩토링을 해가면서 점점 욕심이 생겨 클린코드 방법을 찾아보기 시작했습니다. 한 주 동안 클린 코드에 대해 공부하며 내 코드를 누구나 쉽게 이해할 수 있어 원활한 협업을 지향하는 개발자로서의 능력을 쌓을 수 있었습니다. 저는 앞으로 남은 3주 동안 코드를 더 간결하고 깔끔하게 작성해 나아가 점점 발전하는 개발자가 되도록 노력할 것입니다.

3. 주어진 문제를 잘 읽는 능력

처음 1주 차 미션이 열리고 문제를 꼼꼼히 읽지 않았던 탓인지 초반에는 테스트에 실패하는 경우가 있었습니다. 그때 다시 주어진 문제 조건들을 천천히 읽고, 제가 놓친 부분들을 점검해 나가며 테스트코드를 통과할 수 있었습니다.

이번 경험으로 알고리즘 문제나 코딩테스트 문제를 해결할 때에도 주어진 문제를 처음부터 잘 읽도록 하는 좋은 습관이 생기고 있는 것 같아 뿌듯했습니다. 앞으로의 기간에도 문제를 제대로 읽지 않는 실수가 없도록 노력할 것입니다.

4. Airbnb 자바스크립트 스타일가이드

저는 자바스크립트의 스타일가이드를 처음 접하고 이를 도입해 보았습니다.
문제에 제시된 조건이어서 접해본 것도 있지만 이런 가이드가 있다면 원활한 협업에 도움이 될 것 같다는 생각을 했습니다. 지난 한 주 동안 해당 스타일 가이드 공식 문서를 정독하면서 최대한 놓친 부분 없이 확인하면서 코딩하려고 노력했습니다. 이번 경험으로 제가 앞으로 진행하는 프로젝트에도 해당 스타일 가이드를 도입해 더욱 깔끔한 코드를 구현할 것입니다.

5. 처음 만나는 Jest

저는 이번에 Jest를 처음 알게 되어 사용해 보았습니다. 구현을 시작하기 전에 문제에 주어진 테스트 코드를 먼저 분석해보기도 했습니다. 이러한 과정속에서 다음 미션부터는 TDD 방식으로 문제를 풀어보고 싶었습니다. 이번 주에는 Jest에 대한 이해와, 테스트 코드 작성 방법에 대해 공부하였습니다. 앞으로의 미션에서는 구현 전에 테스트 코드를 미리 작성해보고 싶습니다.

TDD 방식을 사용해 보고 싶은 이유는 이번 미션에서 처음에 작성한 기능 목록과 최종적으로 검토한 기능 목록이 많이 달라졌기 때문입니다. 구현을 하면서 점점 다양한 예외처리 경우들이 보여서 단순했던 처음 구현 목록이 구체화되어 갔기 때문입니다. 해당 방식을 사용하면 구현을 하기 전부터 여러 가지 예외 처리 방식이 생각나 코드를 효율적으로 작성할 수 있을 것이라 생각해 다음 미션에서는 이를 도입하고 싶었습니다.

6. 신중해진 Commit Message

저는 지난날 커밋 메시지의 header만 작성해 왔습니다. 이번에 올바른 커밋메시지 작성법을 정독하며 body에 해당 커밋 내용에 대한 구체적인 내용을 적어보았습니다. 이 과정은 나중에 리팩토링을 할 때 구체적으로 적어두었던 커밋 메시지가 굉장히 많은 도움이 되었습니다. 따라서 커밋메시지 작성 습관에 큰 도움이 되었습니다.

그리고 프리코스에 제출을 한다는 생각에 커밋을 신중히 하게 되었습니다. 기능 구현 단위로 커밋하기 위해 노력했습니다. 신중하게 커밋을 올리기 전 검토하기 위해 working tree도 정말 꼼꼼히 보았습니다. 이번 경험으로 앞으로 무의미한 커밋을 줄이고 신중하게 커밋을 진행할 수 있는 좋은 경험이 되었습니다.

profile
Garden / Junior Frontend Developer

0개의 댓글