14장 다음 단계

이제 대부분의 Go 프로그램을 작성하는 데 필요한 정보는 모두 배웠다. 하지만 그렇다고 해서 우리가 능숙한 프로그래머라고 결론 내린다면 위험할 것이다. 프로그래밍은 지식이 필요하다는 점에서 공예와 흡사하다. 14장에서는 프로그래밍이라는 기술을 연마하는 가장 좋은 방법을 제안하겠다.

14.1 대가를 연구한다

훌륭한 예술가나 작가가 되는 방법 중 하나는 대가의 작품을 연구하는 것이다. 프로그래밍도 다를 바 없다. 숙련된 프로그래머가 되는 가장 좋은 방법 중 하나는 다른 사람들이 작성한 소스 코드를 연구하는 것이다. Go는 전체 프로젝트의 소스 코드를 자유롭게 이용할 수 있게 돼 있어서 이렇게 하기에 적합하다.

예를 들어, io/ioutil의 소스 코드가 궁금하다면 아래 주소에서 소스 코드를 확인할 수 있다.

http://golang.org/src/pkg/io/ioutil/ioutil.go

코드를 천천히, 그리고 신중하게 읽어보자. 모든 줄을 이해하고 코드에 덧붙인 주석도 읽어보려고 노력한다. 예를 들어, ReadFile 메서드에서는 주석의 내용이 다음과 같다.

// It's a good but not certain bet that FileInfo
// will tell us exactly how much to read, so
// let's try it but be prepared for the answer
// to be wrong.

아마 이 메서드는 지금과 달리 처음에는 단순하게 시작했을 것이므로 프로그램이 테스트를 거친 후에 어떻게 발전할 수 있고 그러한 변화에 대해 주석을 제공하는 것이 왜 중요한지를 보여주는 좋은 예다. 전체 패키지의 전체 소스 코드는 아래의 주소에서 확인할 수 있다.

http://golang.org/src/pkg/

14.2 뭔가를 만든다

기술을 연마하는 가장 좋은 방법 중 하나는 코딩 연습이다. 코딩 연습을 하는 방법은 굉장히 많다. 오일러 프로젝트(http://projecteuler.net/)과 같은 프로그래밍 경연대회 문제를 풀어보거나 규모가 큰 프로젝트를 진행해 볼 수도 있다. 아마 웹 서버를 구현하거나 간단한 게임을 만들어 본다.

14.3 협업

현실 세계의 소프트웨어 프로젝트는 대부분 팀 단위로 진행되므로 팀을 이뤄 일하는 법을 배우는 것이 굉장히 중요하다. 가능하다면 친구(같은 수업을 듣는 친구 같은)를 찾아 팀을 구성해 프로젝트를 진행한다. 프로젝트를 여러 부문으로 나누는 법을 배우면 동시에 작업을 진행할 수 있다.

또 다른 방법은 오픈소스 프로젝트에 참여하는 것이다. 서드파티 라이브러리를 찾아 코드(버그 수정 같은)를 작성한 다음 유지보수를 맡은 사람에게 제출한다. Go 커뮤니티는 성장하는 중이며, 메일링 리스트(http://groups.google.com/group/golang-nuts)를 통해 참여할 수 있다.

← 이전