처음으로 페어 프로그래밍을 해봤다.
페어 프로그래밍이란,
Pair Programming. 말 그대로 짝을 맞춰 프로그래밍 한다는 뜻.
애자일 개발 방법론 중의 하나로, 하나의 컴퓨터를 가지고 두 사람이 작업하는 방법을 의미한다.
사람1의 역할: "네비게이터"
- 프로그래밍의 방향을 설정하고 지시한다.
사람2의 역할: "드라이버"
- 네비게이터의 지시대로 코드를 작성한다.
규칙
- 보통 5분에서 10분 간격으로 역할을 바꿔가며 진행한다.
- "드라이버" 역할은 "네비게이터" 역할의 지시에 반박하지 않고 코드를 작성한다. 물론, 궁금한 점은 당연 물어볼 수 있다.

이번 페어 프로그래밍의 목적은 "둘이서 싸우지 않기" 였다.
코드를 완성하는 것도 중요하지만, 서로 대화를 통해서 생각 없이 코드를 작성하지 않는 것이 더 중요하다고 느껴졌다.
주제는 "버블 정렬 구현하기" !!!
자바 언어로 작성했다.
구현 코드 (버블 정렬)
import java.util.Scanner;
public class Bubble {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] splitedStr = str.split(" ");
int[] list = new int[splitedStr.length];
for(int i=0; i< splitedStr.length; i++){
list[i] = Integer.parseInt(splitedStr[i]);
}
for(int i=0; i<list.length-1; i++){
for (int j=i; j<list.length-1; j++) {
if(list[j] > list[j+1]){
int temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
// 결과 출력
for (int i=0; i<list.length; i++) {
System.out.print(list[i] + " ");
}
}
}
회고
그동안 혼자 프로그래밍 할 때는, 생각하면서 바로 코드로 치고 그 사고 과정을 곧바로 검증할 수 있었는데
구현 방향을 말로 설명하려니까 더 어려웠다.
잘한 점
- 상대방의 지시대로 코드를 작성했다.
- 궁금한 점은 곧바로 물어봤다.
개선할 점
- 자바를 너무 몰라서 도움이 안 됐다.
페어 프로그래밍의 단점
- 혼자서 프로그래밍 하는 것보다 시간이 걸린다.
페어 프로그래밍의 장점
- 말하기 전에 생각했나요? 를 실천할 수 있다.
- 같이 이야기하면서 프로그래밍 하니까 로직이 더 잘 이해되었다.
페어 프로그래밍을 할 때 중요한 건 ..
대화하면서 이해하기가 아닐까.
'Language > Java' 카테고리의 다른 글
[Java] 인터페이스는 왜 쓰는 걸까? (0) | 2024.04.08 |
---|---|
[Java] 자바 문법 (클래스의 구성 요소, 다형성) (0) | 2024.04.04 |
[Java] 개요, 문법 기초 (0) | 2024.04.03 |
[Java] 이클립스로 자바 처음 시작하기 (0) | 2022.01.01 |
처음으로 페어 프로그래밍을 해봤다.
페어 프로그래밍이란,
Pair Programming. 말 그대로 짝을 맞춰 프로그래밍 한다는 뜻.
애자일 개발 방법론 중의 하나로, 하나의 컴퓨터를 가지고 두 사람이 작업하는 방법을 의미한다.
사람1의 역할: "네비게이터"
- 프로그래밍의 방향을 설정하고 지시한다.
사람2의 역할: "드라이버"
- 네비게이터의 지시대로 코드를 작성한다.
규칙
- 보통 5분에서 10분 간격으로 역할을 바꿔가며 진행한다.
- "드라이버" 역할은 "네비게이터" 역할의 지시에 반박하지 않고 코드를 작성한다. 물론, 궁금한 점은 당연 물어볼 수 있다.

이번 페어 프로그래밍의 목적은 "둘이서 싸우지 않기" 였다.
코드를 완성하는 것도 중요하지만, 서로 대화를 통해서 생각 없이 코드를 작성하지 않는 것이 더 중요하다고 느껴졌다.
주제는 "버블 정렬 구현하기" !!!
자바 언어로 작성했다.
구현 코드 (버블 정렬)
import java.util.Scanner;
public class Bubble {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] splitedStr = str.split(" ");
int[] list = new int[splitedStr.length];
for(int i=0; i< splitedStr.length; i++){
list[i] = Integer.parseInt(splitedStr[i]);
}
for(int i=0; i<list.length-1; i++){
for (int j=i; j<list.length-1; j++) {
if(list[j] > list[j+1]){
int temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
// 결과 출력
for (int i=0; i<list.length; i++) {
System.out.print(list[i] + " ");
}
}
}
회고
그동안 혼자 프로그래밍 할 때는, 생각하면서 바로 코드로 치고 그 사고 과정을 곧바로 검증할 수 있었는데
구현 방향을 말로 설명하려니까 더 어려웠다.
잘한 점
- 상대방의 지시대로 코드를 작성했다.
- 궁금한 점은 곧바로 물어봤다.
개선할 점
- 자바를 너무 몰라서 도움이 안 됐다.
페어 프로그래밍의 단점
- 혼자서 프로그래밍 하는 것보다 시간이 걸린다.
페어 프로그래밍의 장점
- 말하기 전에 생각했나요? 를 실천할 수 있다.
- 같이 이야기하면서 프로그래밍 하니까 로직이 더 잘 이해되었다.
페어 프로그래밍을 할 때 중요한 건 ..
대화하면서 이해하기가 아닐까.
'Language > Java' 카테고리의 다른 글
[Java] 인터페이스는 왜 쓰는 걸까? (0) | 2024.04.08 |
---|---|
[Java] 자바 문법 (클래스의 구성 요소, 다형성) (0) | 2024.04.04 |
[Java] 개요, 문법 기초 (0) | 2024.04.03 |
[Java] 이클립스로 자바 처음 시작하기 (0) | 2022.01.01 |