K (Keep)
- 코딩 도장 문제를 시간 안에 스스로 해결한다.
- 개념 공부 시간을 확보한다. (이동하는 시간에 틈틈이 개념 암기하기)
- 디버깅 노트에 디버깅한 내용들을 기록한다.
- 하루하루의 마감 꼭 지키기
- 코드를 치기 전에 [준비, 입력, 처리, 출력] 네 단계로 작업을 설계한다. 그 후 수정/보완 단계를 거친 뒤에 코드를 짜기 시작한다.
- 내가 하는 모든 일들을 나에게 가치있는 일로 만들어보자.
- 쉬운 것부터 구현한다. 코드를 바꿀때마다 돌려보면서 원하는 결과대로 출력되고 있는지 계속해서 확인한다.
- 비타민 잘 챙겨먹고 아프지 말자.
- 누구나 알아볼 수 있는 직관적이고 명확한 표현으로 변수명을 지어주자. 줄여서 쓰는 것도 안된다.
- 생활 루틴 지키기
P (Problems)
- 디버깅을 위한 시도를 하지 않는다.
- 문제 해결 능력이 없다.
- 준비, 입력, 처리, 출력의 프로세스대로 생각하지 않아 논리의 흐름이 없는 코드를 짜게 되었다.
T (Try)
- 오류가 생기거나 막혔을 때 손 놓고 보고 있지 말고 뭐라도 코드를 치면서 해결하려는 시도를 한다.
- 프로그램을 짤 때 전체적으로 준비, 입력, 처리, 출력의 4단계로 한 번 나눈다. 그 후 세세한 기능들도 준비, 입력, 처리, 출력의 4단계로 나누어본다.
- 오류에 대한 질문을 할 때는 어떤 상황인지, 해결을 위해 어떤 시도를 해보았는지, 원인으로 예상되는 것에는 어떤 것들이 있는지 명확히 밝혀 질문한다.
A (Action)
- 디버깅 하는 법
- 예상되는 오류의 원인을 생각해서 가설을 세운다.
- 가설이 맞는지 검증한다.
- 이 과정을 반복해서 오류를 찾아내고 수정한다.
- 프로그램을 짤 때 전체적으로 준비, 입력, 처리, 출력의 4단계로 한 번 나눈다. 그 후 세세한 기능들도 준비, 입력, 처리, 출력의 4단계로 나누어본다.
- 질문 하기 전 체크해야 할 것들 :
준비 - 입력 - 처리 - 출력 / 목적, 가설, 시도
- 내 코드가 준비, 입력, 처리, 출력의 프로세스에 맞춰 나누어져있는가?
- 내가 지금 구현하려고 하는 것은 무엇인가?
- 오류 상황이 무엇인가?
- 오류의 원인에 대한 가설을 세웠는가?
- 이 가설을 검증하기 위해 어떠한 시도를 하였는가?