Дальнейшие шаги

Теперь у вас должно быть достаточно знаний, чтобы написать практически любую программу на Go. Но опасно делать выводы о том, что теперь вы стали компетентным программистом. Программирование — это большое мастерство, достаточно простое, если имеются знания. В этой главе я дам вам несколько советов о том, как лучше освоить ремесло программирования.

Учитесь у мастеров

Частью становления хорошего художника или писателя является изучения работ мастеров. Это ничем не отличается от программирования. Один из лучших способов стать квалифицированным программистом — это изучение исходного кода, созданного другими людьми. 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/

Делайте что-нибудь

Один из лучших способов оттачивания своих навыков - это практика написания кода. Есть много способов сделать это: вы могли бы поработать над сложными задачками по программированию на таких сайтах, как Project Euler или попробовать себя в более крупном проекте. Возможно, вы захотите написать веб-сервер или даже написать небольшую игру.

Работайте в команде

Большая часть программных проектов в реальном мире созданы командами программистов. Поэтому умение работать в команде имеет большое значение. Если у вас есть заинтересованный друг или одноклассник — возьмите его и объединитесь в команду для работы над общим проектом. Узнайте, как разделить проект на части и тогда сможете работать над ним в разное время.

Второй вариант заключается в работе над открытым проектом. Найдите какую-нибудь стороннюю библиотеку, напишите новую функциональность (или исправьте ошибки) и отправьте её мейнтейнеру. У Go есть растущее сообщество, которое взаимодействует с помощью списков рассылки.

Fork me on GitHub