dev-resources.site
for different kinds of informations.
Verdades Duras sobre Desenvolvimento de Software
Published at
11/29/2024
Categories
software
architecture
Author
Ortiz de Arcanjo António David
Arquitetura
- A arquitetura deve evoluir conforme as necessidades do negócio.
- Microserviços não são a solução ideal para todos os cenários.
- A modularização é uma solução atemporal e resolve vários problemas.
- A adoção de Clean Architecture ou Hexagonal Architecture pode atrasar o projeto.
- A escolha da arquitetura certa é mais importante do que seguir modas.
Design
- Abstrações desnecessárias podem aumentar a complexidade.
- DDD é sobre compreender e lidar com a complexidade do negócio, não sobre siglas ou organização de ficheiros.
- Design Patterns não são padrões universais de design.
- Soluções simples têm maior durabilidade.
Complexidade
- A complexidade cresce com o negócio.
- Complexidade representa custos, mesmo que não seja visível.
- A complexidade prematura pode prejudicar a evolução do projeto.
- Reduzir a complexidade inicial não impede o crescimento futuro.
Modelagem
- UML ainda apresenta diagramas úteis.
- Modelar processos reduz custos de implementação.
- Diagramas claros facilitam o desenvolvimento.
- Modelar antecipadamente melhora a comunicação da equipa.
- Modelos bem feitos tornam a manutenção e evolução do sistema mais simples.
Cloud
- Soluções em cloud podem ser caras e exigem um planeamento cuidadoso.
- Escalabilidade infinita tem um custo elevado; otimize os recursos sempre que possível.
- Existe muito hype, mas poucas implementações realmente bem-sucedidas.
- Nem todos os projetos precisam de soluções baseadas em cloud.
Big Techs
- Começaram com soluções simples e imperfeitas.
- As arquiteturas atuais são o resultado de décadas de evolução.
- Investem milhões para gerir a complexidade.
- Contam com equipas grandes e especializadas.
- Não se deve comparar a sua realidade com o contexto delas.
Conheça o Seu Contexto
- Não é Google, Microsoft, Facebook ou Netflix.
- Comece pequeno: opte por um monólito e utilize MVC.
- A complexidade que imagina pode não ser necessária de imediato.
- Cresça de forma gradual, com base nas necessidades reais.
Articles
12 articles in total
Como passar funções para Templates usando Go?
read article
🚀 Animado para compartilhar meu novo repositório no GitHub!
read article
Ferramentas para Estruturação de Projetos: Geração de Código e Configurações
read article
Cenário Real do Desenvolvimento de Software
read article
Design de uma Base de Dados Modular
read article
Verdades Duras sobre Desenvolvimento de Software
currently reading
Níveis de Abstração na Implementação de Software
read article
Aprenda Lógica de Programação
read article
Acoplamento e Coesão
read article
Como Tratar Diferentes Tipos de Logs em Go?
read article
Como Validar Dados em Golang?
read article
Manipulação de Datas em Golang
read article
Featured ones: