페어 프로그래밍이란?
페어 프로그래밍은 하나의 화면을 공유하는 두 명의 프로그래머가 함께 하는 코딩 연습이다. 이 작업은 VSCode Live Share와 같은 플랫폼을 사용하거나 서로 나란히 앉아서 수행할 수 있습니다. 프로그래머 중 한 명은 드라이버로, 다른 한 명은 네비게이터로 불린다. 간단히 말해서 "드라이버"는 코드를 입력하는 사람이고, "네비게이터"는 입력해야 할 것을 지시하는 개발자이다. 이러한 역할들은 종종 서로 교환되어 각 개발자가 코드를 작성할 수 있도록 한다. 그들은 코드가 무엇을 하고 있고 다음에 무슨 일이 일어나야 하는지를 겪는다.
페어 프로그래밍은 두 개발자가 작업을 진행하면서 참여하며 구두로 의사소통하는 경우에만 작동합니다.
나한테 뭐가 먹혔지?
내가 처음으로 페어링 프로그램을 했을 때는 전혀 낯선 경험이었어요. 익숙해지는 데 시간이 걸리긴 했지만, 다른 개발자들이 같은 문제에 어떻게 접근할지 실제로 얼마나 알고 있는지, 또 목격할 수 있게 해주었다. 나와 동료인 페어 프로그래밍이 자바스크립트를 처음 배울 때 드라이버는 내가 맡고 네비게이터는 내가 맡았다. 배운 지 2주밖에 안 된 언어를 프로그래밍할 때 큰 소리로 생각하게 되어 정말 값진 경험이었어요. 개별적으로 작업할 때는 머릿속에서 복잡한 문제를 해결하는 것이 일반적이다. 페어 프로그래밍은 개발자가 자신의 생각을 말로 표현하고 다른 개발자가 이해할 수 있는 방식으로 자신의 생각을 표현할 수 있도록 한다. 또한 코드(드라이버)를 작성하고 다른 사람이 오류를 적극적으로 감시할 수 있는 기회를 제공한다.
페어 프로그래밍에 대해 다른 사람들은 뭐라고 하는가?
프로그램을 효과적으로 페어링하기 위해 개발자 간에 상호 수용된 몇 가지 요소가 있습니다. 여기에는 다음이 포함됩니다.
- 지속적인 구두 소통의 중요성 - 두 사람이 같은 생각을 하고 서로의 사고 과정을 인식하도록 합니다.
- 코딩에 소비된 동일한 시간 — 이것은 두 사람 모두 문제를 해결하는 데 집중하게 합니다. 한 사람이 더 경험이 많아 운전자 자리를 차지하게 되면 다른 한 사람이 해제되고 페어 프로그래밍의 목적이 어긋날 수 있다.
- COVID_19로 인해 많은 사람들이 두 사용자가 동일한 파일을 입력할 수 있는 VSCode Live Share와 같은 온라인 플랫폼을 사용하게 되었습니다.
이 요소들을 고려해서. 프로그래머들은 그들 자신의 코드에 대해 배울 수 있는 더 많은 기회와 생산성의 증가를 알아차렸다. 종종, 당신의 코드를 볼 수 있는 두 번째 눈을 갖는 것은 당신이 오랫동안 연구해 온 버그를 해결할 수 있다. 실수와 버그가 발생할 가능성이 적습니다. 유타 대학에서 페어 프로그래밍을 통한 코드 생성을 조사하는 연구가 있었다. 그들은 사람들이 페어링을 했을 때 결점이 15% 감소했다는 것을 알 수 있었다. 이 프로세스는 또한 코드 품질을 높이고 팀의 사기를 향상시킵니다. 직장에서 페어링 프로그램을 해본 적이 있고 꾸준히 연습하는 사람 중 96%가 개인 프로그래밍에 비해 일이 더 즐겁다고 답했다.
페어 프로그래밍의 다른 용도는 무엇입니까?
마찬가지로, 학생들은 개별 프로그래머에 비해 프로그램 솔루션의 정확성에 대한 더 높은 신뢰도를 보고했다.
페어 프로그래밍에는 어떤 것들이 있나요?
할 일:
- 큰 소리로 생각하다. "네비게이터"는 드라이버에 대해 어디서 시작할지, 어떤 함수를 먼저 만들어야 하는지, 필요한 경우 구문을 검색하고, 누락된 쉼표, 괄호 등과 같은 코드 세부사항에 주의를 기울여야 한다.
- 파트너를 자주 바꾸세요! 이를 통해 개발자들은 글쓰기와 안내를 통제할 수 있는 기회를 얻을 수 있다. 만약 한 사람이 코딩 작업을 하고 있다면, 사람들은 편안하게 키보드를 요청해야 합니다. 역할 사이에 자연스러운 앞뒤 흐름이 있어야 한다.
- 모든 사람의 경험을 배려하세요. 다른 분야보다 특정 분야에서 경험을 쌓고 그 기회를 활용해 가르칠 수 있는 경우가 있을 것이다. 또한 상대방이 더 경험이 많고 당신은 그들로부터 배울 수 있는 기회를 이용할 수도 있다.
하지 말 것:
- 페어 프로그래밍을 포기하세요. 익숙해지고 함께 일할 수 있는 파트너를 찾는 데 시간이 좀 걸립니다.
- 한 명이 보고 다른 한 명은 코딩하세요. 이것은 보는 사람에게 금방 지루해질 수 있고 페어 프로그래밍의 목적을 무력화시킬 수 있다.
- 기술 수준이 다를 때는 탐색하는 것을 두려워하세요. 한 사람이 경험이 더 많다면 다른 개발자를 얼마나 잘 설명하고 가르칠 수 있는지 시험해 볼 수 있는 좋은 기회다. 한 사람이 경험이 적다면, 경험이 많은 사람이 코드에 어떻게 접근하는지를 질문하고 배울 수 있는 좋은 기회다.
장점과 단점에 대해 토론하면서 지금까지 경험한 것에 대해 쓰세요.
페어 프로그래밍에는 여러 가지 긍정적인 점과 부정적인 점이 있습니다.
긍정
- 다른 개발자와 대화(때로는 장시간 코딩이 외로울 수 있음)
- 사용하지 않은 깔끔한 키보드 단축키 배우기
- 배우거나 가르칠 수 있는 기회 얻기
- "운전자"와 "내비게이터"가 되는 연습
- Visual Studio Code Live Share와 같은 플랫폼을 사용할 경우 일반적으로 개별적으로 코딩할 필요가 없습니다.
- 개인적으로 페어링 프로그래밍을 할 때 훨씬 더 빨리 작업을 완료할 수 있었습니다.
- 올바르게 하면 각자에게 이익이 되고 작업 속도가 빨라집니다.
네거티브
- 모든 사람이 때때로 자신의 능력에 대해 의구심을 가지기 때문에 초기에 시도하는 것이 위협적일 수 있습니다.
- 코드 공유를 위해 플랫폼을 탐색하는 방법 학습 및 두 사용자가 동일한 소프트웨어를 다운로드했는지 확인
미래 학습자를 위한 권장 사항
페어 프로그래밍을 해본 적이 없다면 반드시 프로그래밍 파트너를 찾아서 사용해 보세요! 다른 사람에게 배울 수 있고 다른 사람을 가르칠 수 있는 기술입니다. 프로그램을 페어링할 때보다 스스로 작업을 완료하는 데 시간이 얼마나 걸리는지 알아보세요.
'javascript' 카테고리의 다른 글
ORM: 보다 직관적인 데이터베이스 관리 방법 (0) | 2022.01.11 |
---|---|
HackerRank: 공통 하위(가장 긴 공통 후속) — JavaScript (0) | 2022.01.11 |
JavaScript의 스택 데이터 구조 이해—JavaScript는 이를 어떻게 사용합니까? (0) | 2022.01.11 |
플랫아이언 스쿨 소프트웨어 엔지니어링 1단계 완료! — 내 프로젝트 (1) | 2022.01.11 |
Nullish 병합 연산자(?) (0) | 2022.01.11 |
댓글