"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Un nivel de abstracción: la clave para las funciones limpias

Un nivel de abstracción: la clave para las funciones limpias

Publicado el 2024-11-07
Navegar:263

One Level of Abstraction: The Key to Clean Functions

¿Alguna vez has mirado una función y te has sentido perdido en su complejidad? Exploremos un principio fundamental del código limpio: las funciones deben mantener solo un nivel de abstracción.

Aquí hay un ejemplo real de creación de usuarios en una aplicación web:

// ❌ A function doing too many things at different abstraction levels
function createUser(userData) {
  // Validate data
  if (!userData.email || !userData.email.includes('@')) {
    return 'Invalid email';
  }
  if (userData.password.length 



Esta función mezcla diferentes niveles de abstracción:

  • Lógica empresarial de alto nivel (flujo de creación de usuarios)
  • Operaciones de nivel medio (validación de datos, formateo)
  • Detalles de bajo nivel (hash de contraseña)

Refactoricémoslo siguiendo el principio de nivel único de abstracción:

// ✅ Clean version with one level of abstraction
function createUser(userData) {
  const validationError = validateUserData(userData);
  if (validationError) return validationError;

  const securePassword = hashPassword(userData.password);
  const formattedUser = formatUserData(userData.email, securePassword);

  return saveUserToDatabase(formattedUser);
}

function validateUserData({ email, password }) {
  if (!email || !email.includes('@')) return 'Invalid email';
  if (password.length 



Beneficios de este enfoque

  1. Legibilidad: La función principal se lee como una historia, describiendo lo que sucede en un alto nivel
  2. Mantenibilidad: Cada función tiene una única responsabilidad, haciendo los cambios más seguros
  3. Comprobabilidad: Puedes probar cada pieza de lógica de forma independiente
  4. Reutilizabilidad: Estas funciones enfocadas se pueden reutilizar en otros contextos

Conclusiones clave

Al escribir funciones:

  • Mantenlos enfocados en un nivel de abstracción
  • Extraer operaciones complejas en funciones bien nombradas
  • Hacer que la función principal cuente una historia
  • Piensa en cada función como un solo paso en tu proceso

Recuerda: si estás mezclando "cómo" y "qué" en la misma función, probablemente estés tratando con múltiples niveles de abstracción. ¡Divídelos!

Declaración de liberación Este artículo se reproduce en: https://dev.to/56_kode/one-level-of-abstraction-the-key-to-clean-functions-2ekb?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3