블랙커피 스터디 - 페어프로그래밍

Seuling·2022년 7월 18일
0

FE

목록 보기
36/42
post-thumbnail

블랙커피 스터디

페어프로그래밍, 짝프로그래밍

  • 생각을 공유하며 프로그래밍을 같이 하는것
  • 2명 이상의 사람이 한 키보드, 한 모니터를 가지고 한가지 주제에 대해 같이 개발해나가는 방법
  • 네비게이터와 드라이버가 있어서 코드 작성하는 분과 방향을 잡아주는 분이 있는 방식

🧭 내비게이터

전체 지도를 보며 목적지에 다다르는 길을 안내한다.
운전 과정 중에 의문이 드는 점이나 잘못 흘러가고 있는 상황을 대화로 바로 잡는다.

🚘 드라이버

직접 운전대를 잡고 운전을 하는 역할
운전 중 현재 진행하는 것을 말로 표현하며 진행하며, 네비게이터와의 대화 역시 함께 진행한다.

방법

🙅🏻‍♂️ 1. 한 사람이 다른 사람에게 '강의'를 하지 않는다.
짝 프로그래밍은 수평적인 관계로 진행하는게 중요하다!
드라이버가 어떻게 리드해야할지 모르겠다면, 네비게이터가 쳐야할 코드를 불러주기!!
⏱️ 2. 타이머를 이용해서 빈번하게 교환하기
한 사람이 오래 키보드를 오래 붙잡고 있으면 안됨!!
서로 왔다 갔다 하는 과정에서의 '발견'이 페어 프로그래밍에서 중요한 부분이다.

내비게이터와 드라이버가 일정 시간 (오늘은 2분의 제한시간)을 두고 서로 역할을 바꾸며 짝프로그래밍을 해보았다.
2분이라는 짧은 시간동안 계속 번갈아가기에 집중할 수 밖에 없는 구조였던것같다.
처음엔 막연함 두려움이 컸지만, 생각을 정리해보며 이건아닐까요 ?? 이건 어떨까요?? 하며 생각을 공유한다는것이 정말 많이 배울 수 있던것같다.

세가지로 정리해보자면??
1. 시간을 효율적으로 쓸 수 있었다!
2. 생각을 말로 표현하면서 더 정리해볼 수 있었다
3. 내 관점 외의 리팩토링을 생각해 볼 수 있어서 좋았다

특히, 알고리즘 문제를 풀 때 페어프로그래밍으로 접근한다면 너무 좋을 것 같다는 생각이 들었다.

🫶🏻 오늘의 인사이트

  1. 내비게이터와 드라이버의 역할을 나눈다는 생각
  2. 제한시간을 두고 번갈아 진행한다는 생각
  3. 페어프로그래밍 방식 -> 함수 이름은 뭘로 하면 좋을까요 ?? 어떤 input, return 있어야 할까요? parameter로 뭘 받아야할까요 ? console.log로 예시를 먼저 확인해보는게 어떨가요? 예를들면, console.log(fibo(0))을 확인하려면 return값은 뭐가나와야하죠 ?? fibo(0)을 구현하는 함수 먼저 만들어볼까요 ??
profile
프론트엔드 개발자 항상 뭘 하고있는 슬링

0개의 댓글