No existen reglas universales y sagradas para la nomenclatura de los objetos o entidades de un programa; si el lector ha trabajado en más de un sitio de desarrollo de software habrá podido comprobar que no existe una norma fija pero lo que sí existe (normalmente) es "alguna" norma de nomenclatura que todo el equipo de desarrollo debe seguir. Lo peor de todo es dejar al libre albedrío la elección de normas personales o individuales.
Cuando el desarrollador trabaja solo tiene la libertad de elección pero lo adecuado es que adopte un criterio determinado y que lo mantenga estrictamente. También se beneficiará de esa metodología de trabajo cuando tenga que leer sus propios programas meses después de su programación original. Además, aunque posiblemente comencemos trabajando solos, si las cosas nos van bien en el futuro quizá tengamos un colaborador o más que tendrán la tarea de mantener nuestro código.
La principal regla de la nomenclatura es mantener la coherencia y un esquema de formato en el nombre de cada cosa (variable, función, objeto, módulo, etc.). La regla puede ser personal pero si es coherente cualquier programador puede entenderla rápidamente después de leer un poco el código de nuestro programa. |
Nomenclatura de variables
La primera regla en la nomenclatura de las variables es que se debe intentar que su nombre tenga relación con su contenido. La separación entre palabras se indica con una mayúscula y se suele utilizar un prefijo que describe el tipo de dato, por ejemplo:
- txtLíneaDetalle: Define que la variable es una cadena de texto (prefijo txt) y que contendrá una línea de detalle.
- dtFechaEntrada: Define que la variable es de tipo fecha y hora (prefijo dt) y que contendrá la fecha de entrada.
- intContadorLíneas: Define que la variable es de tipo entero (prefijo int) y que contendrá un contador de líneas.
- bRetorno: Define que la variable es de tipo booleano (prefijo b) y que contendrá el valor de retorno.
Los prefijos que indican los tipos de las variables son de libre elección aunque los citados en estos ejemplos son muy utilizados. También se suele utilizar str para indicar una cadena de caracteres, n para un tipo entero, etc. Lo importante es ser coherente a lo largo de la aplicación y no inventar prefijos que no se expliquen por sí solos.
Nomenclatura de funciones
Longitud de los nombres
Palabras reservadas
Nomenclatura de funciones
El criterio de nomenclatura de las funciones es similar al que hemos visto en las variables. La principal diferencia es que el prefijo suele indicar la acción principal de la función; el prefijo puede escribirse en inglés (es más conciso que el español) o en el idioma que más se prefiera, lo importante es nuevamente ser coherente a lo largo de todo el desarrollo:
- get: Obtiene un valor. Por ejemplo, getNro(), obtenerNro().
- set: Asigna un valor. Por ejemplo, setNro(), asignarNro().
- is: Devuelve verdadero o falso. Por ejemplo, isPar(), esPar().
- add: Añade un elemento. Por ejemplo, addElemento(), agregarElemento().
- print: Imprime un objeto. Por ejemplo, printFormulario(), imprimirFormulario().
A continuación del prefijo se añade la descripción de la función en una o más palabras, utilizando una mayúscula para indicar el comienzo de cada palabra. Por ejemplo:
- isObjetoEmpleado(): Este nombre de función es adecuado para saber si un objeto es de tipo Empleado.
- getColor(): Este nombre de función es adecuado para obtener el color de un objeto.
Longitud de los nombres
Por razones de legibilidad no son adecuados los nombres demasiado cortos (sin significado aparente) y los nombres excesivamente largos (más de 16 o 18 caracteres) por el espacio que ocupan en la línea de edición.
La excepción a esta recomendación es el típico uso de las variables utilizadas como índices (en bucles o en elementos de matrices), en estos casos es habitual utilizar la variable i o ix para dar a entender que es un índice y también x e y para indicar coordenadas de la pantalla.
Por norma general se acepta un nombre de variable con una o dos letras si es una variable transitoria que se utiliza y se destruye en pocas líneas.
Palabras reservadas
Como en todos los lenguajes de programación, el nombre que se asigne a variables y funciones tiene la habitual restricción que impide el uso de las palabras reservadas del lenguaje, básicamente, el nombre de las sentencias propias de JavaScript.
En realidad muchas de estas recomendaciones son generales y se aplican a todos los lenguajes de programación, no sólo a JavaScript. |