Conhece os teus Geebos
Nesta página
Vamos falar dos Geebos, os Objetos de Negócio Genéricos (GBOs).
Todos os produtos os têm. São os substantivos do teu sistema.
Numa aplicação de tarefas simplíssima: Utilizador → Lista → Tarefa. Esse é o teu conjunto de geebos.
Acertar nisto cedo não é questão de vida ou de morte, mas o tempo que gastas em reengenharia cresce com a ambiguidade dessas relações. Os estudos põem a manutenção e a evolução em ≈70–90 % do custo ao longo da vida1, por isso geebos vagos são, literalmente, dinheiro deitado fora.
As equipas continuam a complicar demais: mudam nomes a meio, fazem abstrações prematuras, enterram-se em casos limite. A IA generativa e os geradores de esquemas aceleram o trabalho braçal (a McKinsey mediu ≈2× de ganho em tarefas comuns2), mas o modelo continua a ser das pessoas.
Princípios que mantêm o caos à distância
-
Começa pelo consumidor e trabalha de trás para a frente
Modela primeiro o que a tua UI / API realmente precisa. -
Mantém a camada de dados aborrecida
Tabelas ou documentos simples vencem a esperteza elegante que vais acabar por refatorizar. -
Espelha a API no modelo de dados (a não ser que a DX peça mesmo um BFF)
A consistência melhora a produtividade e a adoção por parte dos programadores3. -
Só acrescentes complexidade onde ela acrescenta valor
As abstrações têm de pagar renda logo. -
Dá nome às coisas uma vez e nunca mais lhes mexas
Os identificadores são ~70 % dos carateres do código-fonte4. Mudá-los a toda a hora mata a compreensão.
Quando as abstrações precoces ajudam
A lidar com um monte de serviços de terceiros? Rouba de uma API bem arquitetada (pensa na Stripe). Aponta um LLM às especificações OpenAPI dos fornecedores, pede-lhe que gere um subconjunto unificado e deixa esse subconjunto tornar-se o teu geebo. Tudo o que é interno mapeia para ele e adaptadores finos traduzem para cada fornecedor. Uma linguagem comum limpa, zero mapeamentos Frankenstein feitos à mão.
Resumindo
Define os teus geebos.
Escreve-os.
Respeita-os.
A tua equipa e o teu eu do futuro vão agradecer-te.
Footnotes
-
Which Factors Affect Software Projects Maintenance Cost More? (Acta Inform Med, 2013) – reports 90 % of lifecycle cost falling in maintenance. https://pmc.ncbi.nlm.nih.gov/articles/PMC3610582/ ↩
-
McKinsey Digital – Unleashing developer productivity with generative AI (June 2023). Finds up-to-2× speed gains on typical coding tasks. https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/unleashing-developer-productivity-with-generative-ai ↩
-
Zuplo Blog – How to Improve API Design for Better Developer Productivity (Mar 2025). Links consistent API design to faster integration and happier devs. https://zuplo.com/blog/2025/03/21/improving-api-design-for-developer-productivity ↩
-
Impermanent Identifiers: Enhanced Source Code Comprehension and Refactoring (arXiv 2406.09066, 2024) – notes identifiers make up ~70 % of source-code characters. https://arxiv.org/pdf/2406.09066 ↩