프로그래밍을 학습하는 좋은 접근 방법

이동욱

2021/07/20

Categories: 프로그래밍

첫번째 단계, 필요한 부분부터 흡수한다

책이나 자료 전체가 동일한 정도로 중요하다고 말할 수 없다. 목적이 명확하고, 목적 달성을 위해서
어디를 읽어야 할지 알고 있다면 다른 페이지는 신경쓰지 말고 바로 그곳을 읽도록 한다.
전체 모두 읽지 않은 것이 깨름칙한가? 하지만 좌절하고 전혀 읽지 않은 것보다는 낫다.
'전부 읽지 않으면'이라는 완벽주의가 배우고자 하는 동기를 짓누르고 있다면, 버려 버리는 것이 낫다.
동기는 매우 중요하다. 이 전략을 사용하기 위해서는 읽고 싶은 부분이 어디인지 대략적으로 전체적인
구조를 파악하고 있어야 한다. 만약 그게 어려우면 다음 전략인 
'대략적인 부분을 잡아서 조금씩 상세화한다.'를 시험해보도록 하자.

두 번째 단계, 대략적인 부분을 잡아서 조금씩 상세화 한다

책이나 문서에는 목차가 있다. 목차를 보면 전체 구조를 대략적으로 알 수 있다.
그리고나서 본문을 속독으로 읽어나간다.
자세히 보지 않고 우선은 소제목이나 강조 부분, 그림과 그림 제목 등을 본다.
소스 코드를 읽을 때는 우선 디렉토리 구조와 파일 명을 본다. 그리고 파일을 속독으로 읽고
거기서 정의하고 있는 함수나 클래스 이름, 자주 호출되는 함수명 등을 본다. 이 방법들에는
'우선 대략적인 구조를 잡고, 조금씩 상세한 정보로 접근한다'는 공통점이 있다. 이것이 기본 원칙이다.
소스코드에는 다른 방식의 독해 방법이 있다. 디버거의 과정을 사용해서, 실행되는 순서나 호출 계층으로
읽는 방법이다. 이 경우도 동일하게 우선은 대략적인 처리 흐름을 따라가고, 조금씩 깊이를 더해서 함수 
안의 처리를 따라가는 것이 중요하다. 이 방법으로 읽이도 정보가 한쪽 귀로 들어와서 한쪽 귀로 나가버리는 
느낌을 받는 경우가 있다면, 마지막 방법인 '끝에서부터 차례대로 배껴간다'를 시도해보자.

세 번째 단계, 끝에서부터 차례대로 배껴간다

명확히 '하고 싶은 것', '조사하고 싶은 것이 없이 '대충 읽으면' 읽은 내용이 뇌를 그냥 스쳐 지나갈 뿐이다.
이런 상태에서 어떻게 배울까를 고민한다고 해도, 판단을 위한 지식 자체가 없기 때문에 무의미하다.
그래서 지식의 밑바탕을 만들기 위해서 교과서를 그대로 배껴 쓴다. 이것이 '베끼기'라 불리는 기술이다.
지식이 없는 상태에서 고민하는 것은 무익하기 때문에 우선 아무것도 생각하지 않고 지식을 복사하는 것이다.
이 이상의 방법은 없다. 저자는 시간을 정해서 '25분간 어디까지 베낄 수 있는지' 도전하는 것을 좋아한다.
분량으로 나눈 것도 좋은 방법이다. 중요한 것은 간격을 적절히 해서 목표를 이루었다는 만족감을 얻을 수 있도록
하는 것이다.

참고 문헌


>> Home