Retrospect

[우아한테크코스] 자동차 경주 미션 회고

w00se 2022. 2. 22. 02:23

https://pixabay.com/ko/photos/글쓰기-작가-메모-펜-공책-923882

본 과정이 시작하기 전에 회고를 매일 쓰진 못해도 주마다 하나씩은 쓰자고 마음먹었는데 지키지 못했고,

결국 2주가 지나고 자동차 경주 미션이 완료되고 회고를 쓰게 됐다.

 

이번 미션 동안 느낀 점과 배운 점은 아래와 같다.

 

테스트 주도 개발 경험

이번 미션의 부제목은 테스트인 듯하다.

TDD(Test Deiven Development)에 대한 개념을 배우고 경험해봤다.

 

TDD의 흐름에 대해 간략히 정리를 하면 아래와 같다.

1) 테스트 코드 작성 2) 테스트를 통과하는 코드 작성 3) 구현한 기능에 대해 리팩토링

위 흐름으로 하나의 기능을 완성하고 이 과정을 반복해서 개발하는 과정이 TTD이다.

 

처음 테스트 코드를 작성하는 게 낯설어서 시간이 많이 걸렸다.

'그냥 테스트 코드 작성을 하지 말까?' 라는 생각도 했다ㅎㅎ

 

하지만 작업이 진행될수록 테스트 코드의 효능을 느끼게 됐다.

테스트 코드는 특히 리팩토링을 진행할 때 도움이 많이 됐다.

테스트 코드 덕분에 리팩토링을 진행할 때마다 수동으로 검사할 필요가 없게 되어, 시간과 피로도 측면에서 장점을 느꼈다.

 

이번 미션에서는 Cypress를 사용해서 테스트를 진행했는데, 아직 Cypress를 자유자재로 사용하지 못하는 느낌이 든다.

Cypress에 대해 정리가 필요하다.

또한 테스트 관련해서 리뷰어님께 코멘트받은 내용도 정리가 필요하다.

 

페어 프로그래밍

이번 미션에서 처음 하게 된 또 다른 경험은 바로 페어 프로그래밍이다.

 

페어 프로그래밍에 대해 간략히 정리를 하면

한 명은 내비게이터라는 역할로 코드 작성에 방향을 제시하는 사람이 되고, 또 다른 사람은 드라이버 역할로 내비게이터가 제시해 준 방향에 맞게 코드를 작성하는 사람이 된다.

 

페어 프로그래밍을 하게 되면 필히 말을 많이 해야 한다. 그리고 상대방의 의견도 경청해야 한다.

덕분에 내 생각이 상대방에게 잘 전달되도록 연습할 수 있고, 경청하는 자세 또한 연습할 수 있는 기회였다.

 

페어 프로그래밍을 하면 소통 역량도 증진되는 장점도 있지만, 페어로의 좋은 습관을 배울 수 있는 장점도 있다.

 

이번 미션에서 페어로부터 vscode의 몰랐던 기능도 배웠고 reset.css, switch 구문 대신 객체 활용 등의 기술적인 부분도 배울 수 있었다.

 

페어 프로그래밍에 대한 첫 경험이 좋았는데, 이는 좋은 페어를 만났다는 점도 한 몫한 거 같다.

 

MVC 패턴

이번 미션의 2단계에서는 MVC 패턴을 적용해봤다.

코치님에 의하면 MVC 패턴이 항상 정답은 아니라는 말을 들었지만, 많이 사용하는 패턴인 만큼 경험을 하고 연습하게 돼서 좋았다.

MVC 패턴은 공부를 하고 아직 문서로 정리를 못했는데, 공부한 내용과 작성한 코드 그리고 리뷰어님의 코멘트까지 함께 정리해서 문서화할 필요가 있다. 나중을 위해!

 

Event Loop

이 부분은 이번 미션의 학습 자료에 정리되어 있었는데, 아직 확인하지 못했다.

학습 자료 공부를 잊은 거 보니 2주 차이지만 아직 우아한테크코스의 진행방식에 완전히 익숙해지지 않았던 거 같다.

 

학습 자료 확인 -> 강의 수강 -> 미션 시작

 

위 순서로 다음 미션은 진행을 해봐야겠다.

 

또한 Event Loop에 대해서도 공부를 하고 문서로 정리할 필요가 있다.

 

애니메이션

2단계 미션에서는 간단한 스피너 애니메이션을 구현하는 요구사항이 있었다.

애니메이션은 CSS를 이용해서 간단히 구현했지만, 학습 자료의 키워드와 다른 크루들을 보니 requestAnimationFrame 등을 활용해서 애니메이션을 구현하는 방법도 있는 거 같다.

 

이 부분 역시 추가적인 공부가 필요한 영역이다.

 

 

앞으로

공부하고 정리해야 할 내용이 밀려있기에 부지런히 작업하고 공부해야겠다.