본문 바로가기
프로그래밍

짝 프로그래밍

by Mr-후 2019. 4. 30.
반응형

짝 프로그래밍. 

신기방기한 프로그래밍의 세계. 

이글은 코딩호러의 이펙티브 프로그래밍 책 내용 중 일부 내용이다. 



핵심은 두 개발자가 하나의 컴퓨터 상에서 일을 하는데 있다. 둘 다 키보드와 마우스를 가진다. 어느 특정 시점에서 한 사람은 운전을 하고 다른 한 사람은 길을 알려 준다. 이러한 역할은 한 시간마다, 혹은 어떤 식으로든 정해진 시간마다 바뀐다. 

운전사는 코드를 입력하고, 내비게이터는 해결해야 할 문제와 다음에 작성해야할 코드의 내용을 고민하면서 동시에 운전사가 입력한 코드를 읽고, 확인하고, 철자 검사도 하고, 코드의 에러 여부를 검사한다. 운전사가 실수를 저지르면 문제를 해결할 수 있는 사람이 두 명이나 존재하고, 특히 그 중에서 한 명은 좋은 해결책을 가지고 있는 경우가 대부분이다. 


두 사람이 각자 서로 다른 전문분야를 가지고 있을 거라는 장점 이외에도, 이러한 과정은 서로의 기술이 서로에게 전달되게 하는 장점도 있다. 한 사람이 다른 사람에게 어떤 기법을 전하거나 문제를 임시적으로 해결하는 기술을 눈앞에서 보여줌으로써 특별한 교육효과를 갖게 되는 것이다. 


이런 과정을 밟으면 어떤 코드의 내용을 완전히 숙지하고, 그것이 왜 그런 식으로 작성 됐는지 제대로 이해하는 사람이 팀 안에 두명이나 존재하게 된다.
이러한 코드는 다른 사람이 바로 옆에서 지켜보고 있는 동안 작성 됐기 때문에 한 사람이 작성한 코드에 비해 더 좋은 품질을 가지고 있을 가능성도 
 높다.
또한 이런 코드는 나중에 유지보수와 관련된 문제를 일으키는 버그나 임시 변통의 코드를 포함하고 있을 가능성 역시 매우 낮다.

규모가 큰 팀에서는 매 주마다 짝을 바꿔서 다른 사람과 짝을 이루게 하는 것이 가능하다.
이런 과정은 개발자들이 서로의 생각을 공통의 언어인 코드를 통해 논의하게 만들기 때문에 엄청난 장점이 있다. 

우리는 이런식으로 일 하는 것이 혼자서 개별적으로 코딩하는 것보다 느리지 않다는 사실도 발견했다.
짝 프로그래밍을 통해 코드는 빠르게 작성되고 일단 작성된 다음에는 누가 다시 살펴보지 않아도 된다.
그리고 설령 코드에 변경이 필요한 순간이 오더라도 코드를 변경할 수 있는 사람이 두 명이나 더 있다. 





반응형