1

Clean Code não significa código pronto para produção

Todo desenvolvedor aprende a escrever código limpo.

Funções pequenas, nomes descritivos, SOLID, testes, baixo acoplamento... tudo isso realmente importa.

Mas existe um problema: código limpo não significa código preparado para produção.

Um exemplo clássico é o N+1 Query Problem.

Imagine uma consulta que busca 500 produtos. Em vez de executar uma única consulta (ou duas, usando eager loading), a aplicação faz uma consulta para os produtos e mais uma para cada categoria.

Resultado?

1 + 500 = 501 consultas

Em desenvolvimento, com poucos registros, dificilmente alguém percebe.

Em produção, sob centenas de usuários simultâneos, essas consultas extras começam a disputar conexões com o banco de dados, aumentam a latência e podem derrubar toda a aplicação.

E o N+1 é apenas um sintoma.

Problemas como índices ausentes, "JOIN"s mal planejados, SELECT * desnecessários, falta de observabilidade e ausência de testes de carga costumam aparecer apenas quando o sistema encontra usuários reais.

Com a popularização de ferramentas como GitHub Copilot, Cursor e Claude Code, ficou ainda mais fácil produzir código bonito. Mas nenhuma IA conhece o tamanho das suas tabelas, o volume de acessos ou os gargalos da sua infraestrutura.

No fim das contas, produção não se importa com a elegância do código.

Ela se importa com o comportamento dele sob pressão.

Escrevi um artigo aprofundando esse assunto, mostrando exemplos em PHP, Python e JavaScript, além de discutir N+1 Query, lazy loading, eager loading, observabilidade e a importância de pensar além do código.

🔗 https://thiagoandre.dev/pt-br/codigo-limpo-nao-significa-pronto-para-producao

Carregando publicação patrocinada...
1

Interessante, mas acho que o título está desconexo com o conteúdo, você focou em N+1 queries, mas seu título se ancora em Clean Code.

Acho que poderia ser apelativo para gerar acesso, mas ancorado no texto: "N+1 Query, um problema que pode estar oculto no seu programa" ou coisa do tipo.


No meu primeiro grande projeto com PHP, acabei caindo no N+1, eu era muito leigo e só descobri depois de bater muito a cabeça e muito profiling com xDebug. Isso foi em 2009 eu acho, usava NetBeans com plugin de PHP como IDE.