Estilos de Nomenclatura en Programación
Estilos de Nomenclatura en Programación
Estilo de nombrado
Al margen del nombre que utilicemos para nombrar una variable, función u otro
elemento, tenemos el estilo o convención que utilizaremos para escribir nombres
compuestos por varias palabras.
Nombre Descripción
Ejemplo
lowercase Todo minúsculas. ❌ No se usa porque en palabras compuestas puede
confundir. precioproducto
UPPERCASE Todo mayúsculas. ❌ No se usa porque en palabras compuestas puede
confundir. PRECIOPRODUCTO
camelCase Primera palabra, todo minúsculas. El resto, todo minúsculas salvo
primera letra. precioProducto
PascalCase Idem, pero las palabras empiezan con la primera letra mayúscula. Se usa
en Clases. PrecioProducto
snake_case Las palabras se separan con un guión bajo y se escriben siempre en
minúsculas. precio_producto
UPPER_SNAKE_CASE Se usa en constantes ajustables frecuentemente por el
programador. PRECIO_PRODUCTO
kebab-case Palabras separadas con un guión normal y en minúsculas. Usadas en
HTML/CSS. precio-producto
[Link] Palabras en minúsculas separadas por puntos. ❌ En Javascript no se
puede usar. [Link]
Húngara Prefijo (minúsculas) con el tipo de dato (n = número, t = texto, ...).
❌ Desaconsejada. nPrecioProducto
FLUJO DE EJECUCION:
Este mecanismo es de los más sencillos y básicos, y a medida que vamos escribiendo
código se puede complicar, o introducir variaciones que hacen que este flujo se
vuelva más complejo.
Nombre Descripción
Condiciones Bifurcaciones donde el flujo se divide en dos o más caminos.
Bucles Repeticiones de un código idéntico varias veces o hasta cumplir
una condición.
Funciones Fragmento de código que realiza una tarea, abstrayendo información.
Anidación Fragmentos o bloques de código dentro de otros.
Estructuras de datos Lugares o «compartimentos» donde podemos guardar
información.
Condicionales:
Las condiciones pueden ser algo más complejas, o incluso tener expresiones que
deben ser evaluadas. Las explicaremos más adelante.
Bucles:
Cada una de las repeticiones que realiza es un concepto que se denomina iteración o
vuelta.
Funciones:
A medida que escribimos código en nuestra aplicación, es muy común que nos
encontremos con que hay partes del código que se repiten y/o se parecen mucho a
otras (o directamente son idénticas). Existe un concepto llamado función que
básicamente lo que permite es aislar un fragmento de código y darle un nombre. De
esta forma, cada vez que llamemos a ese nombre, se aplicará el fragmento de código.
Esto reduce sustancialmente el código de nuestra aplicación y lo hace mucho más
fácil de leer y entender.
Las funciones son mucho más complejas, pero esto es un buen punto de partida para
entenderlas. Más adelante las explicaremos en profundidad.
Anidación:
Aunque ya lo veremos más adelante, hay que tener cuidado con las anidaciones, ya
que pueden complicar nuestro programa, y en algunos casos hacerlo menos eficiente.
Lo hablaremos en profundidad en próximos temas.
Estructuras de datos:
Por último, y no por ello menos importante, tenemos las denominadas estructuras de
datos. Cuando programamos, de forma habitual necesitamos guardar información en
nuestro programa, y a priori no conocemos dicha información porque variará
dependiendo del usuario. Por ejemplo, imagina un programa que pregunta el nombre al
usuario. En un caso podría ser Juan, en otro caso podría ser Sara, y en otro podría
ser Pancracio.
CONDICIONALES:
Condicional If:
JS
let nota = 7;
[Link]("He realizado mi examen.");
Cuando dentro de las llaves ({ }) sólo tenemos una línea, se pueden omitir dichas
llaves. Aún así, es recomendable ponerlas siempre si tenemos dudas o no estamos
seguros.
Condicional If / else:
Se puede dar el caso que queramos establecer una alternativa a una condición. Para
eso utilizamos el if seguido de un else. Con esto podemos establecer una acción A
si se cumple la condición, y una acción B si no se cumple.
JS
let nota = 7;
[Link]("He realizado mi examen. Mi resultado es el siguiente:");
if (nota < 5) {
// Acción A: nota es menor que 5
calificacion = "suspendido";
} else {
// Acción B: Cualquier otro caso diferente a A (nota es mayor o igual que 5)
calificacion = "aprobado";
}
[Link]("Estoy", calificacion);
JS
let nota = 7;
[Link]("He realizado mi examen. Mi resultado es el siguiente:");
if (nota < 5) {
// Acción A (nota es menor que 5)
calificacion = "suspendido";
}
if (nota >= 5) {
// Acción B (nota es mayor o igual que 5)
calificacion = "aprobado";
}
[Link]("Estoy", calificacion);
Pero aunque son equivalentes, no son exactamente iguales, ya que en el ejemplo que
vimos anteriormente sólo existe un if, y por lo tanto, sólo se realiza la
comprobación de una condición. En este ejemplo que vemos ahora, se realizan dos if,
y por lo tanto, se evaluan dos condiciones independientes.
Condicional If múltiple:
JS
let nota = 7;
[Link]("He realizado mi examen.");
// Condición
if (nota < 5) {
calificacion = "Insuficiente";
} else if (nota < 6) {
calificación = "Suficiente";
} else if (nota < 8) {
calificacion = "Bien";
} else if (nota <= 9) {
calificacion = "Notable";
} else {
calificacion = "Sobresaliente";
}
Sin embargo, anidar de esta forma varios if suele ser muy poco legible y produce un
código repetitivo algo feo. En algunos casos se podría utilizar otra estructura de
control llamada switch, que veremos a continuación.
Condicional Switch
La estructura de control switch permite definir casos específicos a realizar cuando
la variable expuesta como condición sea igual a los valores que se especifican a
continuación mediante cada case:
JS
let nota = 7;
[Link]("He realizado mi examen. Mi resultado es el siguiente:");
switch (nota) {
case 10:
calificacion = "Sobresaliente";
break;
case 9:
case 8:
calificacion = "Notable";
break;
case 7:
case 6:
calificacion = "Bien";
break;
case 5:
calificacion = "Suficiente";
break;
case 4:
case 3:
case 2:
case 1:
case 0:
calificacion = "Insuficiente";
break;
default:
// Cualquier otro caso
calificacion = "Nota errónea";
break;
}
OPERADOR TERNARIO:
JS
condición ? valor verdadero : valor falso;
JS
let nota = 7;
[Link]("He realizado mi examen. Mi resultado es el siguiente:");
if (nota < 5) {
// Acción A: nota es menor que 5
calificacion = "suspendido";
} else {
// Acción B: Cualquier otro caso diferente a A (nota es mayor o igual que 5)
calificacion = "aprobado";
}
[Link]("Estoy", calificacion);
JS
let nota = 7;
[Link]("He realizado mi examen. Mi resultado es el siguiente:");
[Link]("Estoy", calificacion);
Repasemos el ejemplo:
Observa que guardamos en calificacion el resultado del operador ternario.
La condición es nota < 5, se escribe al principio, previo al ?.
Si la condición es cierta, el ternario devuelve "suspendido".
Si la condición es falsa, el ternario devuelve "aprobado".
Este ejemplo hace exactamente lo mismo que el ejemplo anterior del if/else. La idea
del operador ternario es que podemos condensar mucho código y tener un if en una
sola línea. Es muy práctico, legible e ideal para ejemplos pequeños donde
almacenamos la información en una variable para luego utilizarla.
Sin embargo, hay que tener cuidado, ya que los operadores ternarios sólo se
recomiendan cuando se trata de if muy pequeños. Si intentasemos realizar una
comprobación de if múltiples con el operador ternario, la sintaxis puede resultar
compleja y difícil de leer. Observa el siguiente ejemplo con múltiples if / else:
JS
let nota = 7;
[Link]("He realizado mi examen.");
if (nota < 5) {
calificacion = "Insuficiente";
} else if (nota < 6) {
calificación = "Suficiente";
} else if (nota < 8) {
calificacion = "Bien";
} else if (nota <= 9) {
calificacion = "Notable";
} else {
calificacion = "Sobresaliente";
}
JS
let nota = 7;
[Link]("He realizado mi examen.");
let calificacion =
nota < 5 ? "Insuficiente" :
nota < 6 ? "Suficiente" :
nota < 8 ? "Bien" :
nota <= 9 ? "Notable" :
"Sobresaliente";
Observa que lo que tenemos en este ejemplo son múltiples operadores ternarios
anidados uno dentro de otro. El "valor falso" del primer operador ternario, es un
nuevo operador ternario, que a su vez su valor falso es un nuevo operador ternario,
y así con varios casos más.
Tipos de bucles:
Existen muchas formas de realizar bucles, vamos a ver los más basicos, que son muy
similares en otros lenguajes de programación: