Si eres un desarrollador experimentado, muestra este artículo a los principiantes.
¿Por qué es Importante Nombrar Variables y Funciones de una Manera Específica?
Es inevitable nombrar tus variables y funciones. Desde la perspectiva de los lenguajes de programación, las variables pueden ser casi cualquier cosa: a
, b
, c
o SuperImportantVariable3000
. Lo mismo con las funciones: pueden ser supercortas como yo()
o increíblemente complejas como getNewPageNumberAndNavigateToThatPage()
. Como tú digas, así será. Además, los editores de texto modernos hacen autocompletado de todos los nombres, por lo que ni siquiera tienes que memorizarlos.
Pero hay tres puntos importantes:
- En dos semanas, ya habrás olvidado cómo estaba organizado tu código. Si escribiste un programa hoy y vuelves a él en 14 a 21 días, ya no podrás recordar de memoria a qué se refieren las diferentes partes del código. Si la variable o la función tiene un nombre que te dice qué hace, te facilitarás mucho la tarea.
- Tu código seguramente lo utilizará otra persona. Hiciste un programa genial, funciona, y quieres que alguien más trabaje en él contigo. Esa persona abrirá tu código y tendrá que entenderlo. Si las variables y funciones están bien nombradas, le será fácil entender todo y podrá ayudarte rápidamente.
- Esto influye en el proceso de contratación. Si decides dedicarte a la programación, tus nombres de variables y funciones serán un reflejo de tus habilidades como profesional. El programa puede funcionar sin nombres de variables bonitos, pero puede que no te contraten en la empresa.
Cómo Nombrar Variables
Cuando empiezas a escribir código, tienes programas simples que necesitan variables simples: screen, score, text, etc. Luego, los proyectos se complican y necesitas variables más complejas: totalScore, totalScoreBefore, totalScoreAfter, totalScoreMaxProgressiveLimit, etc. Aquí es donde debes detenerte y pensar.
Cuanto más largo sea el nombre de la variable, más difícil será escribirla sin errores. El autocompletado te ayuda, pero si no lo tienes, es casi seguro que tu código no funcionará debido a un error tipográfico.
Si estás programando en JavaScript, será aún peor: como genera variables sobre la marcha, un error en la variable totalScoreMaxProgresLimit no despertará sospechas. Creará un nuevo elemento con ese nombre, y tendrás dos variables: una correcta y otra incorrecta. El programa se ejecutará, pero su comportamiento será impredecible.
Por lo tanto, trata de elegir nombres cortos para las variables, que sean fáciles de entender sin profundizar demasiado. Por ejemplo, totalScore
: la puntuación total en el juego, maxWidth
: el ancho máximo. Si necesitas almacenar muchas variables en diferentes «estantes», grupos o conjuntos, aprende los conceptos de objetos y clases en JavaScript: es lo que necesitas.
Cómo Nombrar Funciones
Una función es un subprograma dentro de tu programa que utilizas con frecuencia. Por ejemplo, puedes escribir una función getNumber()
que te devuelva un número aleatorio dentro del rango que necesitas. O puedes decir setTimer()
y en algún lugar dentro del programa se configurará un temporizador que ejecutará lo necesario al finalizar la cuenta atrás.
Una función puede simplemente hacer su trabajo o puede devolver un valor, una variable, una matriz o un objeto. Por ejemplo, puedes darle a un subprograma una cadena de texto, escribir un algoritmo de traducción a un idioma extranjero, y este devolverá el texto traducido.
Las funciones también pueden tener cualquier nombre. Pero normalmente serán algo así:
shuffle()
: probablemente, mezcle los elementos de una matriz;saveScore()
: guarda la puntuación del juego en algún lugar;kill()
: destruye algo;spawn()
: crea algo;loadDatabase()
: carga una base de datos en la memoria;makeBackup()
: hace una copia de seguridad de algunos datos y, probablemente, la guarda en el lugar adecuado;getSpeed()
: averigua a qué velocidad se mueve algo. La función devuelve la velocidad;getUserName()
: algo sucede y la función devuelve el nombre de usuario;getSessionId()
: devuelve el número de sesión;setTimeout()
: establece un retardo después del cual se ejecutará alguna acción;setSpeed()
: establece la velocidad de algo.
Observarás que el nombre de la función te permite entender qué hará y si comunicará algún resultado. Por ejemplo, getScore()
devuelve la puntuación del juego, setScore()
establece la puntuación del juego y no devuelve nada, y clearScore()
reinicia la puntuación del juego y tampoco devuelve nada.
¿Qué Pasa con las Mayúsculas?
En la programación hay dos enfoques para formatear funciones y variables: camelCase y snake_case.
En camelCase, las variables que constan de varias palabras se unen sin espacios y las palabras siguientes se escriben con mayúscula: getMoney, renderToFrame, removeFromBase, etc. Este enfoque se recomienda en JavaScript. Ten en cuenta que los nombres de variables y funciones en JavaScript son sensibles a las mayúsculas, es decir, las variables getmoney y getMoney son diferentes.
Snake_case es cuando las palabras se unen con un guion bajo. Esto se usa más a menudo en las clases CSS. Ejemplos: header_marginal
, form_success
.
Elige el enfoque que sea característico del lenguaje que hayas elegido. Recuerda que tu código lo leerán otras personas y será difícil para ellos entender funciones y variables con nombres inusuales.
Cómo No Se Deben Nombrar Ni Variables Ni Funciones
Los programadores no recomiendan nombrar variables y funciones de forma creativa, por ejemplo, crazyUnicorn o wonderfulWorld(). Por los nombres de estas funciones no se entiende qué hacen, si devuelven algo y, en general, para qué sirven.
Pero, por ejemplo, unicornCount es una variable normal con el número de unicornios. Y initWorld() es una función que crea un mundo de un juego de ordenador.
No llames a funciones y variables con las palabras function o variable. MyVar y superFunction() son malas opciones porque tú mismo olvidarás en dos semanas qué hacen estas cosas.
Es mejor no llamar a funciones y variables en español, como sol
o KYC()
: olvidarás cómo se escriben correctamente. Y cuando tu programa se convierta en un programa de reconocimiento internacional, los desarrolladores te lo agradecerán. Sin embargo, si tu función hace «mordisco» (bite), sin importar lo que signifique, puedes llamarla bite() o getPiece().
No hagas que los nombres sean demasiado secretos: las variables p
, m
, t
, z
o la función hm()
son demasiado cortas. La excepción son los bucles: se utilizan variables como i
, n
, p
, que cuentan cuántas veces se ha ejecutado el bucle. Pero estas variables se crean, cumplen su función y se destruyen inmediatamente después de que se cierra el bucle, ya no se les vuelve a llamar.