프로그래밍시에 사용하는 (그다지 일반적이지 않은) 도구들
- 유의어사전 : 좋은 작명을 위해
- 모래시계 (SandglassProgramming ) : 단위 시간을 알기 위해
- IndexCards : CRC Card 용으로. "아이디어"를 직접 만져보고 싶을 때, 서로 효율적으로 의사소통 하고플때.
- 봉투 뒷면 : ProgrammingPearls 참고
왜 필요하지요? PP의 Back of Envelop 관련 조금 풀어서 설명해주시면 감사하겠습니다. PP를 구하기 힘들거든요 .
- 원반(프리즈비) : PairProgramming을 하다가 뭔가 조율이 잘 맞지 않는다 싶으면 밖에 나가서 둘이 원반 주고 받기를 하고 온다. 물리적, 육체적인 코디네이션이 필요한 활동을 하고 나면 PairWork가 쉬워진다.
- 포스트잇
왜 필요하지요? UI 디자인등. 예를 하나만 들어주시면 감사하겠습니다.
- 화이트보드, 매직, 지우개 : 간단한 클래스간의 관계나, 지금 가장 급하게 해야할것을 (최소의 단위) '휘갈겨' 쓴다. 이쁘게 보기좋게 하기위해노력할 필요없다. 어차피 지울테니. 마음대로 하는 낙서도 가끔씩 자극이 된다. --영후
평소에 ExtremeProgramming 연습용으로 쓰는 모래시계의 시간을 한번 측정해 봤는데... 오오오 이렇게 정확하게 3분이 딱 떨어질수야... 대부분의 모래시계는 3분 기준이라고 하는데, 들어가는 모래양과 흐르는 틈새를 아주 정밀하게 조절하는 듯 싶다. --김창준
질문: SandglassProgramming을 읽고 일단은 MultiTimer를 써서 실제로 시도를 해 보고 있습니다. 코딩이 서투른 저는 3분은 너무 짧다 싶어서 5분으로 설정을 했답니다. 그런데 메서드(TestCase) 하나를 작성하다가보니 5분이 훌쩍 넘어가버리는 사태(!)가 발생하고 말았는데, 이럴 때엔 어떻게 해야하나요? 메서드가 다른 것 보다 약간 복잡하긴 했지만.. 아무래도 이런 경우가 자주 발생할 것만 같아서요. --아무개
앞으로 XP관련 질문은 http://xper.org 에 해주세요.
일단, 어떤 문제든지 간에 테스트 케이스 하나를 작성하고, 그걸 통과하는 데 걸리는 전체 시간을 5분 이내로 유지할 수 있는 사람은 5분 이상 걸려도 괜찮습니다. 하지만, 그렇지 못한 사람은 가능하면 5분 이내로 유지하도록 노력해야 합니다. 중요한 것은 자기 자신의 현재 속도를 인식하고, 또 필요에 따라 그걸 조절하는 능력입니다. 만약 시간이 오래 걸린다면 지금 하려는 일이 "너무 큰 것은 아닌가" 생각해 보세요.
--김창준