이 블로그 검색

2011년 8월 21일 일요일

Deliberate practice for enhancing computer programming skill. (personal view)

1. Copy & Paste 를 하지 않는다.
- 왠만하면 한번 더 연습한다고 치고 코드를 새로 만든다. 하더라도, 왜, 어떻게 이렇게 쓰이는지 꼼꼼히 따져가면서 쓴다.

2. 코드를 개선한다.
- 그냥 잘만 돌아가면 끝이 아니다. 이미 짠 코드를 더 구조적으로, 유지 보수 확장이 쉽게, 간결하게, 리소스를 덜 사용하도록, 다른 사람이 봐서 더 이해하기 쉽게 끔 개선한다.

3. 피드백을 받는다.
- 다른 개발자들에게 검토를 받는다. 혹은 질문을 한다. 피드백을 통해 수정할 것이나 개선할 점을 찾는다.

4. 자신이 약한 부분을 집중적으로 파고든다.
- 자신이 특히 (개념적으로나, 구현상으로나) 약한 부분이 있으면 그 부분을 강화 시킨다.
예를 들면, 자신이 쓰레드라든가, 예외 처리 부분에 약하면 그 부분을 집중적으로 보강한다.

5.항상 새로운 코드를 짠다.
- 새로운 프로그램을 구상하고 기획하고 실제로 해당 코드를 작성한다. 자신이 머리속에 구상하고 있던 것을 실제로 프로그래밍 해 본다.

6. 자신이 짠 코드에 대해서 정리한다.
- 블로그 등에 자신이 짠 코드나 새롭게 알게 된 부분이 있으면 반드시 정리를 해서 올린다. 이때 초보자도 알 수 있도록 상세한 설명을 단다.(마치 책을 쓰듯) 남에게 가르치면서 자신도 더 잘알게 되고 더 배우게 된다.

7. 끊임없이 관련 지식을 습득한다.
- 책, 인터넷 검색, 세미나 등을 참석해서 관련 지식을 넓히고 스킬을 쌓도록 노력한다. 항상 공부한다.

8. 코드상에서 과감하게 여러 다양한 시도를 해본다.
- 일부러 다양한 시행착오 과정을 거치고 새로운 방식을 시도해 최적의 방법을 찾아내고 스킬과 지식을 쌓는다.

9. 다른 개발자(나보다 실력이 뛰어난) 들이 작성한 코드를 정기적으로 검토한다.
- 고수 개발자들의 코드를 분석해서 아이디어나 스킬, 노하우를 배운다. 그리고 과감히 내 것으로 차용한다.

10. 핵심 원리나 개념에 대해서 철저하게 파고든다.
- 프로그래밍은 기본 원리나 개념이 흔들리면 아무것도 안된다. 매번 코드를 짤 때 Fundamental 한 부분과 연관을 시켜서 기본 개념을 착실히 익힌다.

댓글 없음:

댓글 쓰기