(Artigo originalmente escrito aqui)
Recentemente surgiu uma dúvida relacionada a codificação usando padrões de projeto, princípios SOLID, orientação a objetos e outras coisas mais num mundo onde a IA está cada vez mais presente.
A ideia de utilizarmos padrões para codificarmos nossos softwares vem de longa data. Talvez a publicação mais antiga na nossa área seja o famosíssimo Padrões de Projeto (ou em inglês, Design Patterns) do GoF. Alguns anos depois, diversos livros contendo „padrões“ no nome foram lançados, como o Padrões de Arquitetura de Aplicações Corporativas do Martin Fowler, Padrões de Implementação, do Kent Beck e até o Refatoração para Padrões do Joshua Kerievsky. Todos eles buscando facilitar a extensão do software e o seu entendimento por parte dos programadores.
Isso sem contar os livros que não possuem „padrões“ no nome, mas seguem na linha de nos passar conhecimento relacionado a como escrever software melhor.
Temos até o Padrões para Kubernetes! 😀
Entretanto, será que eles também são úteis para uma IA?
Pense num Github Copilot. Seu entendimento do código seria diferente se aplicarmos todos os padrões e boas práticas recomendadas para que desenvolvedores possam produzir código mais desacoplado, extensível e entendível?
Será que as IAs poderiam entender melhor as aplicações quando elas seguem todos os bons princípios de organização, arquitetura e escrita de software que aprendemos todos esses anos? Ou para elas isso é irrelevante?
Para responder essas perguntas, convoquei o Chat GPT, e lhe fiz algumas perguntas.
Segue o diálogo que tive com ele. Um tanto longo, é verdade:
Dado um software cuidadosamente arquitetado, com o estado da arte em padrões e ferramentas implementado nele. Caso uma IA como você ou qualquer outra seja utilizada para implementar uma funcionalidade nova nesse software, o trabalho de vocês seria facilitado ou padrões de projeto e SOLID e padrões para microsservicos são bons apenas para facilitar a vida de seres humanos?
Essa é uma excelente pergunta, que toca em um ponto profundo sobre o propósito dos padrões de software: eles são pensados principalmente para humanos.
1. Para quem servem os padrões como SOLID, DDD, Clean Architecture, etc.?
Esses padrões e boas práticas foram desenvolvidos com o objetivo de:
Facilitar o entendimento, manutenção e evolução do sistema por humanos (desenvolvedores, arquitetos, etc.).
Reduzir o acoplamento e aumentar a coesão, permitindo que sistemas possam crescer sem se tornarem inadministráveis.
Permitir testabilidade, extensibilidade e legibilidade.
Esses benefícios fazem sentido porque somos limitados na nossa capacidade de entender e manter sistemas grandes e complexos.
2. E para uma IA?
Para uma IA como eu ou similares, a situação muda:
Padrões de projeto ajudam um pouco: quando um projeto segue uma arquitetura clara e bem estruturada, fica mais fácil para a IA navegar, inferir intenções e encontrar os pontos de extensão corretos. Ex: uma arquitetura hexagonal ou um uso correto de interfaces facilita sugerir onde encaixar uma nova funcionalidade.
Mas a IA não depende desses padrões para “compreender” o código: IAs podem lidar com grandes volumes de código não estruturado, spaghetti ou fortemente acoplado. Isso não é ideal, mas não é uma limitação tão dura quanto é para humanos. A IA pode ainda sim inferir comportamentos e fazer refatorações automaticamente.
3. Resumindo: padrões ajudam a IA, mas são pensados para humanos
Para uma IA atual, como eu, um código bem arquitetado torna o trabalho mais rápido e seguro – mas não é uma exigência.
Para desenvolvedores humanos, esses padrões são quase indispensáveis em sistemas complexos, pois mantêm a sanidade do projeto.
No futuro, com IAs mais autônomas e integradas ao ciclo de vida do software, pode ser que padrões tradicionais sejam repensados ou adaptados para tornar o código mais IA-friendly do que human-friendly.
E continuei, perguntando:
Isso significa que os programadores futuros não precisarão dar tanta importância a esses conceitos? Afinal, se eles usarem vocês como ferramenta principal, e vocês não precisam desses padrões pra trabalhar melhor, pode ser que isso aconteça.
E a resposta:
Você captou uma tendência muito real — e sim, é possível que a ênfase em muitos dos padrões e boas práticas tradicionais diminua com o tempo, especialmente à medida que IAs se tornem participantes mais ativos do processo de desenvolvimento.
Mas essa não é uma resposta simples, então vamos por partes:
📌 1. Se a IA entende e navega bem em código sem padrões, por que mantê-los?
Hoje, os padrões existem principalmente porque os sistemas são mantidos, evoluídos e compreendidos por humanos.
Amanhã, se a maior parte da leitura, manutenção e evolução for feita por IA, a prioridade pode mudar:
O código poderá ser mais direto, menos preocupado com abstrações elegantes e mais focado em funcionalidade explícita e interpretação por máquina.
Conceitos como SOLID, DDD, Clean Architecture poderão se tornar mais „opcionais“ — úteis em alguns contextos (especialmente onde humanos ainda são leitores ativos), mas não fundamentais.
📌 2. Mas os humanos ainda vão revisar, discutir e decidir
Mesmo com IA:
Equipes humanas ainda vão querer entender o sistema em alto nível.
Revisões de código (code reviews), troubleshooting, decisões de arquitetura, auditorias, compliance… ainda precisarão de legibilidade e estrutura.
Ou seja: os padrões continuarão sendo importantes enquanto humanos estiverem no ciclo crítico.
📌 3. O papel dos programadores pode mudar, mas não vai desaparecer
No futuro:
Programadores podem atuar mais como arquitetos de intenção: descrevendo o que precisa ser feito, e deixando que a IA se encarregue do como.
As boas práticas podem ser traduzidas para regras e constraints que a IA deve seguir.
Exemplo: “Quero que você implemente isso seguindo uma abordagem hexagonal”, ou “Use o padrão Strategy aqui para manter o comportamento extensível”.
📌 4. Padrões novos podem emergir — para IA
Pode surgir uma nova geração de “padrões”:
- Otimizada para leitura e manipulação por IA, não por humanos.
- Mais declarativos, com metadados ricos, menos boilerplate.
- Talvez mais parecidos com modelos de comportamento, diagramas vivos, ou DSLs específicas.
✅ Resumo: o futuro muda o papel dos padrões — mas não os torna obsoletos
Claro que tudo isso é um exercício de futurologia. Mas entendo que a resposta da IA foi bem satisfatória.
E você? O que acha dessa discussão? Concorda com o ChatGPT? Acredita que o futuro será diferente?
E por falar em padrões, para escrever esse diálogo com o ChatGPT, utilizei os conceitos trazidos neste excelente artigo da sempre excelente InfoQ.
Abraços e até a próxima!