https://medium.com/inside-picpay/organizing-projects-and-defining-names-in-go-7f0eab45375d

O artigo discute a organização de projetos e a definição de nomes na linguagem Go, destacando a importância de convenções e práticas recomendadas para facilitar o desenvolvimento em equipe. Aqui estão os principais pontos abordados:

Crescimento da Comunidade Go

  • A comunidade Go na PicPay está crescendo, tornando-se uma das principais tecnologias utilizadas na empresa.
  • Com o aumento de desenvolvedores, a complexidade na organização de projetos também aumenta, levando à necessidade de padrões e convenções.

Estrutura de Pacotes

  • Pacotes: Um projeto em Go é definido por um ou mais pacotes, que servem como namespaces para o código.
  • Os pacotes podem ser classificados em bibliotecas e aplicações.

Organização de Bibliotecas

  • Cada pacote deve ter um único propósito, seguindo o princípio da Responsabilidade Única (Single Responsibility).
  • Pacotes que têm múltiplas implementações devem ter um pacote “pai” que agrupe as sub-bibliotecas.

Organização de Aplicações

  • A estrutura de pacotes para aplicações deve considerar a testabilidade, legibilidade e manutenibilidade do código.
  • Os tipos de domínio modelam as funcionalidades do negócio, enquanto os serviços implementam as operações definidas.

Nomeação de Pacotes e Variáveis

  • Nomeação de Pacotes: Devem ser curtos e descritivos, evitando nomes genéricos como “util” ou “helper”.
  • Nomeação de Variáveis: Usar convenções como camelCase e manter nomes curtos e descritivos, especialmente quando a variável é usada longe de sua declaração.

Conclusões

  • A adoção de boas práticas de desenvolvimento está diretamente relacionada à organização do projeto.
  • Princípios como SOLID, KISS e arquitetura limpa são fundamentais para garantir que o código seja legível, fácil de manter e testável.

O artigo enfatiza a importância de seguir essas diretrizes para melhorar a colaboração e a eficiência no desenvolvimento de software em Go.

Dica do Caio Colaiacovo