Awesome
Este repositório contém o Guia de Estilo do Go da Uber, que documenta padrões e convenções usados no código Go da Uber em Português BR.
Guia de Estilo Uber Go
- Introdução
- Diretrizes
- Ponteiros para Interfaces
- Verificar Conformidade de Interfaces
- Receptores e Interfaces
- Mutex com Valor Zero é Válido
- Copiar Slices e Maps em Limites
- Defer para Limpeza
- Tamanho de Canal é Um ou Nenhum
- Iniciar Enums em Um
- Usar
"time"
para manipular o tempo - Erros
- Lidar com Falhas de Assertiva de Tipo
- Não Entre em Pânico
- Usar go.uber.org/atomic
- Evitar Globais Mutáveis
- Evitar Incorporação de Tipos em Estruturas Públicas
- Evitar Usar Nomes Embutidos
- Evitar
init()
- Sair em Main
- Usar tags de campos em structs serializadas
- Não esquecer e abandonar goroutines
- Desempenho
- Estilo
- Evitar Linhas Excessivamente Longas
- Ser Consistente
- Agrupar Declarações Semelhantes
- Ordem de Importação em Grupos
- Nomes de Pacotes
- Nomes de Funções
- Alias de Importação
- Agrupamento e Ordem de Funções
- Reduzir Nidificação
- Else Desnecessário
- Declarações de Variáveis Globais no Topo
- Prefixar Variáveis Globais Não Exportadas com _
- Incorporação em Estruturas
- Declarações de Variáveis Locais
- nil é um slice válido
- Reduzir o Escopo de Variáveis
- Evitar Parâmetros Isolados
- Usar Literais de String Raw para Evitar Escape
- Inicializando Estruturas
- Inicializando Mapas
- Formatar Strings fora do Printf
- Nomenclatura de Funções Estilo Printf
- Padrões
- Linting