자동차 경주 미션 - 회고 #1

lokba·2022년 2월 13일
9

우아한테크코스

목록 보기
1/13
post-thumbnail

🎯기간 : 2022.02.08~ 2022.02.11


level 1의 목표는 다음과 같습니다.

  • HTML/CSS : 주어진 디자인을 웹 표준을 준수하는 UI로 옮길 수 있다.
  • Javascript : 프레임워크 없이 JS만으로 작은 웹 어플리케이션들을 만들어보면서 주요 문법을 학습하고 클린 코드에 대해 고민한다.
  • 테스트 : E2E 테스트와 유닛 테스트 코드를 작성하면서 개발하고 리팩토링하며 테스트 코드의 필요성을 경험해본다.

우아한테크코스는 매 미션마다 페어 프로그래밍을 기반으로 진행됩니다.

페어 프로그래밍이란?
페어 프로그래밍은 네비게이터와 드라이버로 구성됩니다.
드라이버는 코드를 직접적으로 타이핑 하고, 네비게이터는 드라이버가 작성하는 코드를 실시간으로 리뷰를 하고 방향을 이끄는 역할입니다.


1주차 동안 내가 배운것은 다음과 같습니다.

1. 의사소통 능력

페어 프로그래밍을 진행하면서 얻게 된 것입니다.
네비게이터와 드라이버의 역할을 수시로 교체하면서 페어와 프로젝트를 진행하였습니다.
이 과정에서, 상대방에게 가르치는 소통의 방식보다 대화를 통해 상대방과 의견을 주고 받는 소통 방식을 많이 배우게 되었습니다.

2. 상대방이 읽기 좋은 코드 구성하기

혼자만의 개발이 아닌, 페어와 둘이서 함께 개발을 진행하면서 리팩토링 과정에서 클린 코드에 대해서 많은 고민을 하였습니다.
역할을 잘 내포하는 함수명과 변수명 네이밍, 함수가 하나의 역할을 하도록 분리, 함수의 추상화 등 많은 부분에서 페어와 대화를 통해 해결해 나갔습니다.
아래 사진은 고민의 흔적의 결과물 중 일부입니다.

이 과정에서 상대방이 읽기 좋은 코드를 구성하는 법을 배우게 되었습니다.

3. 테스트 코드의 중요성

1주차 기간동안, 가장 많이 깨닫고 성장한 부분입니다.

테스트가 왜 중요할까요?
프로덕트의 요구사항은 추가되거나 변하기 쉽상입니다. 그렇기에, 항상 안정적인 품질을 사용자에게 제공하기 위해 테스트가 중요한 것입니다.
테스트 방법에는 여러 방법이 존재합니다. 그 중에서, TDD 방식으로 E2E 테스트를 적용해보았습니다.

TDD란 무엇일까요?

TDD는 테스트를 먼저 작성하고 그 후 실제 코드를 작성하는 방법입니다.
본질적인 의미는 문제를 정의하고, 그 해답을 찾아가는 과정이라는게 TDD의 기본 취지입니다.


저희가 적용한 TDD의 방식은 다음과 같습니다.
1. 테스트 코드를 먼저 작성한다.
2. 테스트 코드에 해당되는 기능을 코드로 구현한다.
3. 테스트가 통과한다.
4. 리팩토링 과정을 거친다.

다음은 실제 TDD 방식을 적용한 사진입니다.

TDD 방식을 진행하면서, 하나의 기능에 대한 전체적인 흐름을 깨달을 수 있었습니다.
또한 이전에는 무분별한 console.log를 이용하여 테스트를 하여 시간이 오래 걸렸지만,
테스트 코드를 작성 후 진행을 하니 테스트 측면에서 많은 시간을 절감할 수 있었습니다.


앞으로의 기간이 더 기대되는 우아한테크코스입니다.

이상으로 우아한테크코스 level1 1주차 회고는 여기서 마무리하겠습니다.

profile

0개의 댓글