name: code-quality-review description: Analisa código quanto a legibilidade e otimização, sugere melhorias e atribui percentual de confiabilidade. Use quando o usuário pedir revisão de código, análise de legibilidade, sugestões de otimização, ou code review.
Análise de Qualidade de Código
Base de referência
Para código Django/DRF, consulte .cursor/reference/django-docs.md para padrões e documentação oficial.
Objetivo
Analisar o código em duas dimensões: legibilidade e otimização. Sugerir melhorias concretas e atribuir um percentual de confiabilidade à análise.
Critérios de análise
Legibilidade
- Nomenclatura: nomes descritivos para variáveis, funções e classes
- Tamanho: funções curtas (< 30 linhas); classes focadas
- Complexidade: evite aninhamento profundo (> 3 níveis)
- Comentários: docstrings em funções públicas; comentários apenas quando necessário
- Consistência: padrão de formatação e estilo uniforme
- Separação de responsabilidades: uma função faz uma coisa
Otimização
- Algoritmo: complexidade adequada ao problema
- Redundância: código duplicado; loops desnecessários
- Recursos: uso eficiente de memória e I/O
- Padrões do framework: uso correto de ORM, cache, etc.
Formato do relatório
Sempre apresente a análise neste formato:
## Análise de Qualidade
### Legibilidade: X%
[Breve justificativa]
### Otimização: Y%
[Breve justificativa]
### Confiabilidade da análise: Z%
[Quanto você confia nas sugestões: 0-100%. Considere clareza do código, contexto disponível, complexidade do domínio]
---
### Pontos positivos
- Item 1
- Item 2
### Sugestões de melhoria
1. **[Categoria]** Descrição
```python
# Antes
[código atual]
# Depois (sugerido)
[código otimizado]
- [Categoria] Descrição ...
---
## Cálculo do percentual
- **Legibilidade/Otimização (0-100%):** Avalie cada critério; média ponderada
- **Confiabilidade (0-100%):** Quanto você confia na análise
- 90-100%: código claro, contexto completo, sugestões seguras
- 70-89%: boa visibilidade, algumas suposições
- 50-69%: contexto limitado, sugestões podem variar
- < 50%: pouco contexto, sugestões exploratórias
---
## Exemplos de sugestões
### Legibilidade
```python
# ANTES - nome vago
def proc(d):
return d.get('x', 0) + d.get('y', 0)
# DEPOIS
def sum_coordinates(point: dict) -> float:
"""Soma as coordenadas x e y de um ponto."""
return point.get('x', 0) + point.get('y', 0)
Otimização
# ANTES - lista desnecessária
result = []
for x in items:
result.append(transform(x))
return result
# DEPOIS
return [transform(x) for x in items]
Ao aplicar
- Analise o código fornecido
- Avalie cada critério de legibilidade e otimização
- Liste pontos positivos e sugestões com código antes/depois
- Atribua os percentuais (legibilidade, otimização, confiabilidade)
- Seja específico; evite sugestões genéricas