Middle
O que você considera um código de qualidade?
sobes.tech IA
Resposta da IA
Para mim, código de qualidade possui as seguintes características:
- Legibilidade: É fácil de entender por outros desenvolvedores (e por si próprio após seis meses).
- Manutenção: As alterações e correções de bugs são feitas de forma rápida e segura.
- Testabilidade: O código é dividido em módulos que são fáceis de isolar e testar.
- Limpeza: Ausência de duplicação (
DRY), nomes claros para variáveis e funções, seguindo o estilo de código. - Eficiência: Uso ótimo de recursos (processador, memória) para a tarefa.
- Confiabilidade: Considera possíveis erros (exceções, valores nulos) e os trata corretamente.
- Documentação: Quando necessário, contém comentários claros ou documentação.
Exemplo de código limpo que evita duplicação:
// Ruim: duplicação de lógica
fun processUser(user: User) {
if (user.isActive) {
println("Processando usuário ativo ${user.name}")
// Muito código...
} else {
println("Processando usuário inativo ${user.name}")
// O mesmo muito código...
}
}
// Bom: extração de lógica repetida
fun processUser(user: User) {
println("Processando usuário ${user.name}") // Lógica comum
if (user.isActive) {
processActiveUser(user)
} else {
processInactiveUser(user)
}
// Muito código... // Lógica comum após o if/else
}
fun processActiveUser(user: User) {
// Apenas lógica específica para ativos
}
fun processInactiveUser(user: User) {
// Apenas lógica específica para inativos
}
Exemplo que demonstra legibilidade e nomes claros:
// Ruim
fun calc(a: Int, b: Int): Int {
return a + b
}
// Bom
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
return firstNumber + secondNumber
}