Middle
Nombra criterios específicos de calidad del código.
sobes.tech AI
Respuesta de la IA
- Legibilidad: Es fácil entender qué hace el código. Se utilizan nombres significativos, se siguen las convenciones de formato.
- Mantenibilidad: El código es fácil de modificar y corregir errores sin introducir cambios nuevos. Estructura modular, baja acoplamiento.
- Testabilidad: El código se puede cubrir fácilmente con pruebas automáticas. Las funciones y clases tienen responsabilidades claramente definidas.
- Rendimiento: El código utiliza los recursos (procesador, memoria, batería) de manera eficiente. No hay "cuellos de botella".
- Fiabilidad: El código funciona de manera predecible y es resistente a errores. Manejo de excepciones, validación de datos de entrada.
- Reutilización: Los componentes del código pueden ser utilizados en otras partes de la aplicación o en otros proyectos. Cumplimiento de los principios SOLID.
- Cumplimiento de estándares de codificación: El código cumple con los estándares aceptados en el equipo o la industria.
- Documentación: El código (o API) está adecuadamente descrito, si es necesario.
Ejemplos:
// Código legible:
public void processUserData(User user) {
if (user.isActive()) {
// Procesamiento de usuario activo
} else {
// Procesamiento de usuario inactivo
}
}
// Código menos legible:
public void procUsr(User u) {
if (u.getStat()) { // ¿Qué es getStat()?
// código
} else {
// código
}
}
// Código testeable:
class UserRepository(private val apiService: ApiService) {
fun getUserById(userId: String): User? {
return apiService.fetchUser(userId) // La dependencia se puede simular fácilmente para pruebas
}
}
// Código menos testeable (creación directa de dependencia dentro de la función):
class UserRepository {
fun getUserById(userId: String): User? {
val apiService = ApiService() // Difícil de simular
return apiService.fetchUser(userId)
}
}