38 pontos por winterjung 2023-09-15 | 2 comentários | Compartilhar no WhatsApp
  • A equipe da BankSalad definiu estas convenções de codificação ao longo de 4 anos usando Go ativamente, passando por diversos erros e tentativas e erros

Materiais que vale a pena ler

Vários guias de convenções e materiais de boas práticas que recomendamos ler ao menos uma vez

Práticas de codificação

  • Don't panic
  • Adicionar o prefixo must em funções que podem gerar panic / Panic vs Fatal
  • Goroutine segura contra panic / Coletar resultados de forma concurrent safe
  • Error stacking / Error handling / Error logging
  • No named return
  • Configuração de HTTP client / Reutilização de conexões HTTP
  • Ao declarar slices, definir len e cap / Nil slice vs Empty slice
  • Bool map e map de struct{} / Verificar ok ao consultar map / Avoid map loop
  • Usar range ao iterar strings / Comprimento de string
  • Usar context.Background() em vez de context.TODO()
  • Usar bastante early return
  • Usar time.Duration / Fuso horário
  • Testes baseados em tabela / No monkey patch / Deterministic test
  • Avoid reflect
  • Functional options

Estilo de codificação

O conteúdo descrito reflete o estilo da equipe da BankSalad, e recomendamos que cada item seja considerado de acordo com a realidade de cada organização, em vez de segui-lo literalmente

  • Ordem dos argumentos de função
  • Nomenclatura de funções de teste
  • Ordem das declarações no arquivo
  • Ordem dos imports
  • No singular, get; no plural, list
  • Evitar palavras ambíguas
  • Nomenclatura de const
  • Nomenclatura de pacotes
  • Estrutura do projeto

2 comentários

 
zxgdot 2023-09-15

:woman_running:

 
secret3056 2023-09-15

Gostei muito do texto. Acho que, no país, as duas empresas que melhor utilizam Go são a Bank Salad e a AB180.