diff --git "a/11\354\236\245/\354\232\260\354\260\275\354\231\204.md" "b/11\354\236\245/\354\232\260\354\260\275\354\231\204.md" new file mode 100644 index 0000000..ac1c300 --- /dev/null +++ "b/11\354\236\245/\354\232\260\354\260\275\354\231\204.md" @@ -0,0 +1,33 @@ +# 프로그래밍 중 이루어지는 다양한 활동 + +프로그래밍을 할 때 아래 5가지 프로그래밍 영역으로 나뉘어진다. + +#### 11.1.1 검색 + +검색은 주로 STM에 무리를 가한다. 코드를 탐색하면서 주석등으로 표시하는 것은 stm 무리를 덜어준다. + +#### 11.1.2 이해 + +코드를 읽고 실행해보면서 기능에 대해 이해하게 된다. +아직 이해하지 못한 코드에 대해 테스트 코드를 작성해보는 것도 도움이된다. + +#### 11.1.3 전사 (transcription) + +생각과 의도를 코드로 작성하는 행위 + +#### 11.1.4 증가 + +감섹, 이해, 전사가 합쳐진 활동(포함 관계인가?) + +#### 11.1.5 탐구 + +코드를 탐구 (exploration), 변경사항 추적도 탐구에 포함 + +#### 11.1.6 디버깅 + +디버깅은 위의 5가지 활동이 혼합된 형태(디버깅 원인 파악, 실제 수정 등) + +### 11.2 프로그래머의 업무 중단 + +업무 중단은 실제로 총 작업 시간을 증가시키고, 스위칭 비용을 발생시킨다. +특히, 몰입 상태에서 중단하고 다른 문맥과 스위칭하는 것은 굉장히 부하가 큰 행위이다.