Uber - это технологическая компания с штаб-квартирой в Силиконовой долине, США, и один из ранних сторонников языка Go. Она open-source-проекты на golang, такие как широко известные zap и jaeger в сообществе Gopher. В конце 2018 года Uber open-source-этал внутренний стиль написания на Go на GitHub. После года накопления и обновлений, руководство приняло определенную форму и вызвало широкий интерес среди Gopher.

Стиль кодирования определяет конвенции, которые контролируют наш код. Эти конвенции охватывают не только формат исходного файла, обрабатываемого gofmt для нас.

Цель этого руководства - управлять этой сложностью, подробно описывая соображения при написании кода на Go в Uber. Наличие этих правил позволяет делать кодовую базу легкой для управления, сохраняя возможность инженерам более эффективно использовать особенности языка Go.

Руководство изначально было написано Prashant Varanasi и Simon Newton с целью позволить коллегам быстро использовать Go. За годы руководство модифицировалось на основе отзывов других.

Этот документ фиксирует идиоматические конвенции в коде Go, которые мы следуем в Uber. Многие из них являются общими рекомендациями для Go, в то время как другие расширенные рекомендации зависят от следующих внешних руководств:

  1. Effective Go
  2. Go Common Mistakes
  3. Go Code Review Comments

Наша цель - сделать примеры кода подходящими для использования с двумя выпусками релизов Go.

Весь код должен успешно проходить проверки golint и go vet без ошибок. Мы рекомендуем настроить свой редактор:

  • Запускать goimports при сохранении
  • Запускать golint и go vet для проверки ошибок

Репозиторий на GitHub: https://github.com/uber-go/guide

Репозиторий на GitHub: https://github.com/xxjwxc/uber_go_guide_cn