본문 바로가기

개발이야기

컴공학생들이 해보는 짝프로그래밍의 고찰

애자일방법론을 아시나요?

본인은 애자일방법론을 아주 좋아합니다.(현재 열심히 배우고 있습니다)

쉽게 애자일방법론을 말하자면

알파 -> 베타 -> 베타 -> RC1 -> RC2

위와 같은 순환으로 점진적으로 App를 완성시킨다는 것이죠. 처음 핵심만 만들고 점점 살을 붙이는 격이라 하겠습니다.

위키백과 - 애자일








이에 반면에 폭포수는 프로젝트마다 다르겠지만 대부분 위에 왼쪽 사진과 같습니다.(ㄷㄷㄷ)

여기서 말하고 싶은것은 애자일이 가지는 짝프로그래밍입니다.

짝프로그래밍을 말하려 하는 배경은 본인은 틈틈이 많은 학생들의 코드를 유심히 관찰해 보았습니다. 역시 학생이다 보니 명명법을 비롯해 제대로 된게 하나 없죠. 이것은 배워야 하는 문제이니 스스로가 노력해야겠죠.

하지만 문제는 모두 로직과 스타일이 다른데 스스로가 제대로 한 건지 못한 건지 모른다는 것입니다. 심지어 자신이 잘 짜고 있다고 믿는 학생도 있습니다. 출력만 예쁘게 잘 나오면 장땡인가 봅니다.

자 그럼 본론으로 코드는 사람마다 모두 다르다고 합니다. 맞습니다. 사람의 환경이 서로 다르니깐요. 그래서 인도나 미국회사들은 정해진 스타일의 틀을 지정하죠. 그래야 유지보수가 한결 쉬워지니깐요.

그런데 학생들은 자신의 코드에 대해 망각에 빠진 채 아무런 지적 없이 코딩을 한다는 것이죠. 하지만 정확히 지적하냐는 건 힘들기에 배제하겠습니다.


한컴퓨터로 두명이상이 코딩하기?

처음 이런 소리 들으면 도저히 이해가 안될 것입니다.(저도 그랬으므로)

하지만 애자일 관련 도서나 블로그를 보면 짝프로그래밍의 장점이 분명 있다는 것이고 프로젝트에 있어 매우 효과적이라는 것입니다. 짝프로그래밍 하다가 성격 안 맞으면 욕나오겠지만 유지보수 안돼서 버그나서 욕나오는거랑 맘먹을 것입니다.


그럼 어떻게 짝프로그래밍을 해야 할까요?

일단 학교 숙제를 가지고 서로 한다는건 엄두도 안날 것입니다. 왜냐면 코드가 같으면 낙제니깐요.ㅎㄷㄷ

또 짝이라 하지만 포기한 학생들 분명 있습니다. 즉 한명만 열심히 코딩 할 수도 있다는 것이죠.

그러므로 수업정책상 하기힘든 방법일 것 같네요.

하지만 스스로가 발전되길 바라는 학생이 있을 것입니다. 그런 학생들이 모여 서로 구현을 하려 한다면 분명 발전이 생긴다는 것 입니다.


결론!

프로그래밍 공부는 책을 가지고 반복

프로그래밍 구현은 두명 이상이 한명은 코딩치고 나머지 참여자는 같은 모니터를 보면서 의견내보고(여건이 안되면 어쩔수....)


장점.

컴퓨터대 개인으로 인해 생기는 망상이 깨진다.

코드가 더 정교하게 된다.

단점.

서로 잘났다 하는 친구랑 하면 싸움이 난다.


애자일하면 이렇게 된다.(잘 뭉치면 승리한다)

짝프로그래밍의 장단점에 대해 잘 정리된 글이네요. http://mars.egloos.com/1635173


생각

분명 팀 과제는 있지만 현실은 팀이 아니고 웬수라고들 합니다. 이런 상태에 이런 방법까지 제안한다면 A+ 받기 힘들죠.

그리고 코드는 그저 네이버검색에 의존하여 나온 코드 위주이고 또는 스스로 생각해낸 코드이니 서로 독특하죠.

그래서 개인이 작성한 코드를 학생들끼리 서로 교환하고 서로 지적받고 물어봐야 한다고 생각을 합니다.

즉 분명히 코드의 피드백은 있어야 한다고 생각을 합니다.