우아한테크코스/Level1 - 강의

Day 1 JUnit, 페어프로그래밍의 장점

jhg0406 2022. 2. 9. 23:28

2022. 02. 09 (수)

 

오늘은 테스트코드 작성법, 페어프로그래밍에 대해 배웠다.

우선 테스트코드는 내가 짠 메소드(함수)가 정상작동 하는지 확인하기 위한 코드이다.

이제까지 나는 항상 디버깅을 할때(대부분이 c++로 알고리즘을 풀때..) 출력문을 코드 중간중간 넣어서 확인했었는데

테스트코드를 따로 만들고 JUnit이라는 것을 이용해 테스트할 수 있다고 한다.

앞으로 우테코 과정에서 JUnit을 사용해 보고 어떤 면에서 편리하고 좋았는지 느껴보아야겠다.(알고리즘 풀 땐 그래도 테스트코드 안짜고 출력문 쓸거같다..)

 

우테코에선 페어프로그래밍이란 것을 한다.

이는 두 사람이 한명은 드라이버(driver), 다른 한명은 네비게이터(navigator)가 되어 서로 협력해 코드를 작성하는 것이다.

드라이버는 직접 코드를 타이핑하는 사람이다. 자기 생각을 코드로 작성하면서 네비게이터와 의논한다.

네비게이터는 옆에서 의견을 제시하는 사람이다. 드라이버가 짜는 코드를 보면서 의견을 제시한다.(그렇게 짜는거 아니야!!!!)

코딩을 접한 이후로 이런 방식을 한번도 해본 적이 없었기 때문에 매우 당황스럽고 어색했다.(처음 본 페어와 온라인으로 처음 한 것이 페어프로그래밍이라서 더더욱 어색했다..)

페어프로그래밍은 여러 장점이 있다고 한다. 페어와 같이 코드를 짜기 때문에 혼자 짰을땐 미처 발견하지 못했을 버그를 빠르게 발견하게 해줘 코드작성시간이 단축된다고 한다.

또한 의논을 하기 때문에 갈등이 빠르게 피어나고 이를 조기에 해결 할 수 있다고 한다.(갈등해소는 빠르면 빠를수록 좋다고 한다. 팀플할때 참다참다 발표 전 갈등이 터지는 예시를 들어주셨는데 바로 납득되었다.)