Middle+
A que é que tu prestas atenção quando fazes uma revisão de código?
sobes.tech IA
Resposta da IA
- Conformidade com o estilo de código do projeto
- Facilidade de leitura e compreensão do código
- Ausência de duplicação de código (DRY)
- Uso correto de padrões arquiteturais e princípios de design (SOLID)
- Tratamento de erros e casos limite
- Ausência de fugas de memória (ciclos de referências fortes, objetos não gerenciados)
- Uso de estruturas de dados e algoritmos adequados para resolver a tarefa
- Presença de comentários e sua atualidade
- Existência e cobertura de testes unitários
- Otimização do desempenho (se aplicável)
- Atomicidade e legibilidade dos commits
- Conformidade da implementação com a tarefa e os requisitos
// Exemplo de verificação de ausência de fugas de memória
class Parent {
var child: Child?
}
class Child {
weak var parent: Parent? // Uso de weak para evitar ciclos fortes
}
// Exemplo de verificação do DRY
func computeSum(_ a: Int, _ b: Int) -> Int {
// Lógica comum
return a + b
}
func processNumbers(_ x: Int, _ y: Int) {
let result = computeSum(x, y)
// Processamento adicional
print(result)
}
func handleValues(_ p: Int, _ q: Int) {
let result = computeSum(p, q) // Reutilização de computeSum
// Processamento adicional
print(result * 2)
}
| Aspecto | O que verifico |
|---|---|
| Legibilidade | Nomes de variáveis, funções, classes; indentação |
| Correção | Lógica, tratamento de erros, casos limite |
| Desempenho | Laços, cálculos complexos, trabalho com coleções |
| Testes | Presença e qualidade dos testes |
| Arquitetura/Design | Conformidade com padrões e princípios |