Middle
¿Qué consideras código de calidad?
sobes.tech AI
Respuesta de la IA
Un código de calidad para mí tiene las siguientes características:
- Legibilidad: Es fácil de entender para otros desarrolladores (y para uno mismo después de medio año).
- Mantenibilidad: Los cambios y correcciones de errores se realizan de manera rápida y segura.
- Testabilidad: El código está dividido en módulos que son fáciles de aislar y probar.
- Limpieza: Ausencia de duplicación (
DRY), nombres claros para variables y funciones, siguiendo el estilo de código. - Eficiencia: Uso óptimo de recursos (procesador, memoria) para la tarea asignada.
- Fiabilidad: Considera posibles errores (excepciones, valores nulos) y los maneja correctamente.
- Documentación: Cuando es necesario, contiene comentarios claros o documentación.
Ejemplo de código limpio que evita duplicaciones:
// Malo: duplicación de lógica
fun processUser(user: User) {
if (user.isActive) {
println("Procesando usuario activo ${user.name}")
// Mucho código...
} else {
println("Procesando usuario inactivo ${user.name}")
// El mismo mucho código...
}
}
// Bueno: extracción de lógica repetida
fun processUser(user: User) {
println("Procesando usuario ${user.name}") // Lógica común
if (user.isActive) {
processActiveUser(user)
} else {
processInactiveUser(user)
}
// Mucho código... // Lógica común después del if/else
}
fun processActiveUser(user: User) {
// Solo lógica específica para activos
}
fun processInactiveUser(user: User) {
// Solo lógica específica para inactivos
}
Ejemplo que demuestra legibilidad y nombres claros:
// Malo
fun calc(a: Int, b: Int): Int {
return a + b
}
// Bueno
fun calculateSum(firstNumber: Int, secondNumber: Int): Int {
return firstNumber + secondNumber
}