Saltar al contenido

Cómo nombrar cosas en código sin perder media hora

8 min de lectura Software
  • naming
  • código limpio
  • buenas prácticas
  • legibilidad
  • software

Dedicar cinco o diez minutos a nombrar una variable, una función o una clase no es tiempo perdido. Es una inversión directa en la legibilidad y el mantenimiento futuro del código. Un naming deficiente es una de las principales causas de bugs y de la lentitud en el desarrollo, porque obliga a los compañeros —o a ti mismo en seis meses— a descifrar intenciones en lugar de entender lógica.

Mi regla es simple: el nombre debe describir qué es o qué hace, sin ambigüedades. No es una cuestión de estilo, es una decisión técnica con consecuencias directas en la productividad.

El coste de los nombres ambiguos en el código

Cuando un desarrollador lee un user_data en un script, la primera pregunta es: ¿qué tipo de datos de usuario? ¿Es un objeto con todos los detalles o solo el ID? ¿Está validado o es la entrada cruda del formulario? Esta ambigüedad obliga a buscar la definición, rastrear su uso y deducir su propósito. Multiplica eso por cada variable mal nombrada en un proyecto y verás el tiempo que se esfuma.

Un código limpio depende de que cada pieza sea autoexplicativa. Si para entender una línea de código necesitas leer las diez anteriores, el problema no está en la lógica —está en cómo la has nombrado.

Principios para una nomenclatura efectiva

No hay una fórmula mágica, pero sí principios que guían la decisión. El nombre debe ser preciso, conciso y expresar la intención. Un buen nombre no solo dice lo que hace, sino también por qué lo hace.

Un nombre funciona bien si:

  • Es comprensible para cualquier desarrollador que lea el código, sin necesidad de contexto adicional.
  • Refleja el dominio del negocio (ej. ordenDeCompra en lugar de obj1).
  • Su longitud es proporcional a su ámbito (variables locales cortas, clases largas).
  • Evita abreviaturas que no sean universalmente reconocidas en tu equipo.

Un nombre deja de funcionar cuando:

  • Es genérico o ambiguo (ej. data, info, manager).
  • Incluye el tipo de dato si el lenguaje ya lo infiere (ej. strNombre, arrItems).
  • Es excesivamente largo y no aporta más claridad.
  • Contradice el comportamiento o el contenido real de la entidad.

Cuando un cliente me llega con problemas de mantenimiento en una aplicación, la elección de nombres es una de las primeras cosas que reviso. Es un indicador directo del cuidado y las buenas prácticas aplicadas durante el desarrollo.

Contexto y consistencia en la nomenclatura del código

El contexto es fundamental. Una variable id es perfectamente válida dentro de una función que solo maneja IDs, pero fuera de ese ámbito, userId o productId es mucho más claro. La consistencia también es vital. Si usas getUserData en un sitio, no uses retrieveUserDetails en otro para la misma operación.

Mi recomendación es establecer una guía de nomenclatura básica al inicio de cada proyecto y que el equipo la siga. No se trata de burocratizar, sino de alinear.

Balance entre tiempo inicial y claridad futura

Implica un tiempo inicial extra, ya que elegir un buen nombre puede llevar unos segundos o minutos, especialmente para conceptos complejos. También complica la refactorización, pues cambiar nombres en un codebase grande puede ser tedioso, aunque las herramientas modernas lo facilitan.

Lo que ganas:

  • Mayor legibilidad: El código se lee como una historia, no como un jeroglífico.
  • Reducción de bugs: Menos errores por malentendidos sobre el propósito de una variable o función.
  • Mantenimiento más rápido: Entender y modificar el código se vuelve mucho más eficiente.
  • Colaboración mejorada: Los nuevos miembros del equipo se integran más rápido.

Lo que no negocio es la claridad sobre la concisión extrema. Prefiero un nombre ligeramente más largo y explícito que uno corto y ambiguo.

// Mal naming
function process(items) {
  let temp = [];
  for (let i = 0; i < items.length; i++) {
    let item = items[i];
    if (item.active) {
      temp.push(item.value * 2);
    }
  }
  return temp;
}

// Buen naming
function calculateActiveProductTotals(products) {
  const activeProductTotals = [];
  for (const product of products) {
    if (product.isActive) {
      activeProductTotals.push(product.price * product.quantity);
    }
  }
  return activeProductTotals;
}

El segundo ejemplo no es solo más legible, también es más fácil de depurar y extender. No necesitas comentarios para entender qué está pasando.

Nomenclatura en APIs y sistemas distribuidos

El impacto de la nomenclatura se multiplica cuando hablamos de APIs. Un endpoint mal nombrado, o un parámetro ambiguo, puede causar una cascada de errores de integración en los sistemas que lo consumen. La versión de tu API importa, pero también cómo nombras sus recursos y acciones.

Cuando diseño APIs, elijo nombres que reflejen el recurso (/clientes, /pedidos) y la acción (GET /clientes, POST /pedidos). Evito verbos genéricos como getData o processItem. La consistencia aquí es un contrato para los consumidores de la API.

La elección de nombres es una habilidad que se pule con la práctica y la revisión. Si quieres mejorar la calidad de tu código y la legibilidad de tus proyectos, empieza por prestar atención a cómo nombras cada cosa. Ahorrarás mucho más tiempo del que crees. Y si tu código funciona en local pero falla en producción, es probable que una buena nomenclatura en variables de entorno o configuraciones hubiera ayudado a identificar el problema antes.

Lucas Juárez
Lucas Juárez

Técnico freelance especializado en desarrollo a medida, automatizaciones con IA y gestión técnica para negocios en España. Más sobre mí →

Compartir:

¿Necesitas desarrollo a medida?

Desarrollo funcionalidades específicas, integraciones entre sistemas y herramientas internas. Si se puede programar, probablemente puedo hacerlo.

Chat