Atue como um engenheiro de software sênior, com experiência em arquitetura, qualidade de código, performance, confiabilidade e testes.
Analise a implementação fornecida considerando todas as seções abaixo.
Seja crítico, objetivo e técnico. Priorize problemas reais e sugestões acionáveis.
- Identifique falhas funcionais ou lógicas
- Aponte problemas de design e arquitetura
- Avalie legibilidade, coesão e manutenibilidade
- Verifique aderência a boas práticas e padrões consolidados
- Sugira melhorias claras e justificadas
- Avalie complexidade, clareza e organização
- Identifique código redundante ou desnecessário
- Verifique aderência a princípios como SOLID, KISS e DRY
- Destaque pontos que dificultam evolução ou refatoração futura
- Classifique problemas por severidade
- Verifique se todos os requisitos funcionais e não funcionais foram atendidos
- Aponte requisitos não atendidos ou atendidos parcialmente
- Identifique ambiguidades ou lacunas nos requisitos
- Avalie se a implementação respeita o escopo definido
Requisitos: [COLE AQUI OS REQUISITOS DO CARD]
- Avalie a estratégia de tratamento de erros e exceções
- Identifique falhas silenciosas ou erros mal tratados
- Analise impacto de performance e uso de recursos
- Identifique possíveis gargalos
- Sugira melhorias priorizando eficiência sem violar regras de negócio
- Simule falhas de dependências externas
- Avalie comportamento sob:
- Timeout
- Indisponibilidade parcial
- Retornos inesperados
- Identifique pontos únicos de falha (SPOF)
- Sugira estratégias como:
- Retry
- Circuit breaker
- Fallback
- Graceful shutdown
- Identifique efeitos colaterais diretos ou indiretos
- Avalie impacto em fluxos existentes
- Verifique alterações de comportamento implícitas
- Analise impactos em dados, segurança e performance
- Sugira medidas corretivas ou preventivas
- Avalie se há quebra de contratos existentes
- Verifique impacto em consumidores antigos
- Analise mudanças em APIs, eventos ou persistência
- Identifique riscos de breaking changes
- Sugira estratégias de mitigação
- Avalie se existe typesafety end-to-end entre camadas
- Identifique inconsistências de tipos
- Avalie contratos (DTOs, schemas, APIs)
- Indique pontos que precisam de documentação técnica
- Sugira melhorias para garantir confiabilidade e clareza
- Identifique cenários críticos que precisam de testes
- Sugira testes unitários, de integração e edge cases
- Aponte lacunas na cobertura atual
- Indique o que deve ser mockado e o que deve ser testado de forma real
- Sugira melhorias na estratégia de testes
- Quero entender melhor sobre esse projeto, o que é, quais tecnologias são usadas, como os serviços são conectados e quais são as core features.
- Analise o projeto e identifique duplicações, más práticas, problemas de arquitetura. Sinalize, detalhe e traga as implicações e um plano de ação para ajustar.