Avaliar rigidez, fragilidade, imobilidade e viscosidade
Use este guia como lente principal para esta situação.

Princípios de design OO, gestão de dependências, coesão/acoplamento e padrões arquiteturais.
Não apenas “anexe e peça para programar”. Dê papel, contexto e critérios.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use este guia como lente principal para esta situação.
Use o guia “Princípios de Design e Padrões de Projeto” anexado como referência para analisar este projeto. Antes de alterar código: 1. Faça um diagnóstico do problema no contexto do projeto. 2. Identifique quais princípios do guia realmente se aplicam. 3. Compare a solução atual com uma alternativa mais simples. 4. Proponha uma mudança incremental e reversível. 5. Defina testes e critérios de aceite. 6. Ao final, revise a implementação contra o guia e liste trade-offs. Contexto: [DESCREVA o sistema, stack, estado atual e cenário da mudança] Objetivo: [DESCREVA o resultado observável que deve existir ao final] Restrições: [DESCREVA o que não pode mudar, compatibilidade e limites técnicos]
Use o modelo acima com dados concretos do projeto. O exemplo abaixo mostra o nível de detalhe esperado.
Contexto: Módulo de relatórios conhece diretamente banco de dados, envio de e-mail e detalhes de PDF; qualquer mudança exige editar várias classes. Objetivo: Reorganizar responsabilidades e dependências para reduzir acoplamento e permitir novas saídas sem modificar regras centrais. Restrições: Não criar interfaces sem motivo; manter compatibilidade com o código atual; aplicar abstrações somente nas fronteiras que realmente variam.
Peça análise do código e do problema antes de aplicar qualquer padrão ou princípio.
Exija justificativa: por que esta técnica é adequada e quais alternativas foram descartadas.
Finalize com testes, checklist, riscos e critérios de aceite.