우버(Uber)는 미국 실리콘밸리에 본사를 둔 기술 회사로서 Go 언어의 초기 채택자입니다. 우버는 많은 고퍼(고 언어 사용자를 일컫는 말) 커뮤니티에서 잘 알려진 zap 및 jaeger와 같은 많은 golang 프로젝트를 오픈소스로 공개했습니다. 2018년 말에 우버는 내부 Go 스타일 가이드를 GitHub에 오픈소스로 공개했습니다. 1년간의 축적과 업데이트를 거쳐 해당 가이드는 구체화되었으며, 고퍼들로부터 광범위한 관심을 받았습니다. 본 문서는 해당 가이드의 중국어 번역입니다.

코드 스타일은 우리 코드를 제어하는 규칙을 담당합니다. 이러한 규칙에는 우리가 사용하는 소스 파일 형식을 gofmt가 처리하는 것뿐만 아니라 다음이 포함됩니다.

이 안내서의 목적은 우버에서 Go 코드를 작성하는 고려 사항을 상세히 설명함으로써 이러한 복잡성을 관리하는 것입니다. 이러한 규칙의 존재 목적은 엔지니어가 Go 언어 기능을 더 효과적으로 사용하면서도 코드베이스를 쉽게 관리할 수 있도록 하는 것입니다.

이 가이드는 처음에 Prashant VaranasiSimon Newton에 의해 작성되었으며 동료들이 빠르게 Go를 사용할 수 있도록 목표로 하였습니다. 몇 년 동안 여러 사람들의 피드백을 기반으로 가이드가 수정되어왔습니다.

본 문서는 우버에서 따르는 Go 코드의 관용적인 규칙을 기록하고 있습니다. 이 가이드라인 중 많은 부분은 Go에 대한 일반적인 지침이며, 다른 부분들은 다음 외부 가이드에 따라 확장되어 있습니다:

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

우리의 목표는 코드 예제들을 두 Go 릴리스 릴리스와 함께 사용할 수 있도록 만드는 것입니다.

모든 코드는 golintgo vet의 체크를 에러 없이 통과해야 합니다. 우리는 여러분의 편집기를 다음과 같이 설정하는 것을 권장합니다:

  • 저장할 때 goimports 실행
  • 오류 점검을 위해 golintgo vet 실행

GitHub 저장소: https://github.com/uber-go/guide

GitHub 저장소: https://github.com/xxjwxc/uber_go_guide_cn