Prompt file imported from henriqueEp/test-tecnico-engenheiro-dados (
.github/prompts/code-review.prompt.md). Copyright stays with the author.
Revise todos os arquivos em app/src/ verificando:
1. Performance
- Joins sem
broadcast()em DataFrames pequenos (< 10 MB) - DataFrames reutilizados múltiplas vezes sem
.cache() .cache()usado sem.unpersist()correspondente- Shuffles desnecessários (ex:
orderByantes de agregações) spark.sql.shuffle.partitionsnão configurado para o volume esperado
2. Qualidade de dados
- Edge cases não cobertos (nulos em colunas não validadas, valores extremos)
- Tipos incompatíveis entre schema e operações (ex: soma em
StringType) - Colunas monetárias fora de
DecimalType(11, 2)
3. Testes
- Funções públicas em
app/src/sem cobertura em app/tests/ - Testes usando
assert df.collect() == ...em vez deassertDataFrameEqual - Testes unitários lendo arquivos de
data/(violação de isolamento)
4. Boas práticas
- I/O (leitura/escrita) dentro de funções em
app/src/(deve ficar emutils/io.py) - Type hints ausentes em funções públicas
- Imports não utilizados
Para cada problema encontrado, indique: arquivo, linha, problema e sugestão de correção.