Uberは、米国シリコンバレーに拠点を置くテクノロジーカンパニーであり、Go言語の早期採用者です。同社は、多くのgolangプロジェクトをオープンソース化しており、その中にはGopherコミュニティでよく知られたzapやjaegerなどが含まれています。2018年末、Uberは内部のGoスタイルガイドをGitHubでオープンソース化しました。1年間の蓄積と更新の結果、このガイドは形になり、Gophersから広範な関心を受けています。この記事は、そのガイドの中国語版です。
コードスタイルは、我々のコードを制御する規約を指します。これらの規約は、gofmtによって処理されるソースファイルの形式だけでなく、他のものもカバーします。
このガイドの目的は、UberでのGoコードの記述に関する考慮事項を詳細に説明することによって、この複雑さを管理することです。これらのルールの存在は、コードベースを管理しやすくすることであり、エンジニアがGo言語の機能をより効果的に利用できるようにすることです。
このガイドは、最初にPrashant VaranasiとSimon Newtonによって書かれ、同僚が迅速にGoを使えるようにすることを目的としています。数年にわたり、他の方々からのフィードバックを元にガイドは改訂されてきました。
このドキュメントは、Uberで従っているGoコードのイディオム的な規約を記録しています。これらの多くはGoの一般的なガイドラインであり、他の拡張されたガイドラインは次の外部ガイドによって依存しています:
私たちの目標は、コード例を2つのGoリリースreleasesで使用できるようにすることです。
すべてのコードは、golint
およびgo vet
のチェックをエラーなく通過する必要があります。次のようにエディタを設定することをお勧めします:
- 保存時に
goimports
を実行 - エラーチェックのために
golint
とgo vet
を実行
GitHub リポジトリ: https://github.com/uber-go/guide
GitHub リポジトリ: https://github.com/xxjwxc/uber_go_guide_cn