JS: Buenas prácticas
Las buenas prácticas no son reglas.
Son consejos o recomendaciones basadas en la experiencia.
Muchas de estas prácticas aplican a cualquier lenguaje de programación.
Queremos escribir código de mejor calidad
Escribimos código para otras personas, no para las computadoras
Pasamos más tiempo leyendo código que escribiéndolo
Piensen en sus compañeros y su yo del futuro
function funcionCreadaPorPablo(a, b, c) {
const h = a + b + c;
const j = h * 0.2;
const t = h + j;
return t;
}
function sumarImpuestoAlPrecio(precioProducto1, precioProducto2, precioProducto3) {
const sumatoriaDePrecios = precioProducto1 + precioProducto2 + precioProducto3;
const impuestoAplicado = sumatoriaDePrecios * 0.2;
const precioTotal = sumatoriaDePrecios + impuestoAplicado;
return precioTotal;
}
Usar nombres descriptivos, significativos y pronunciables para variables, constantes y funciones
Para las funciones, usemos verbos que transmitan la intención y nombres significativos para los parámetros
Mala idea. Corremos el peligro de que cualquier otro código que usemos modifique la funcionalidad
Lo hace más claro y legible
Escribir sólo la cantidad necesaria
La idea es separar los problemas en subproblemas más chicos
Cada problema individual es más fácil de resolver que el problema original
El código queda más legible
En lo posible, queremos escribir funciones más chicas que hagan una tarea particular
Más fácil de leer
Más fácil de entender
Más fácil de programar
Más fácil de testear
Más fácil de reutilizar
==
var
===
let
const
Por defecto, usemos
const
Usamos
let
únicamente si
pensamos reasignar la variable
De esta forma evitamos comportamientos inesperados en las funciones
Ver si es posible reutilizar funcionalidades usando funciones
function comprarMateriaPrima() {
const precio = prompt("Ingrese costo de materia prima");
if (saldoCuenta >= precio) {
saldoCuenta -= precio;
} else {
saldoCuenta = 0;
alert("Te has quedado sin dinero.");
}
}
function pagarSueldo() {
const sueldo = prompt("Ingrese el sueldo a pagar");
if (saldoCuenta >= sueldo) {
saldoCuenta -= sueldo;
} else {
saldoCuenta = 0;
alert("Te has quedado sin dinero");
}
}
function pagarTraslado(){
const precio = prompt("Ingrese el costo del traslado");
if (saldoCuenta >= precio) {
saldoCuenta -= precio;
} else {
saldoCuenta = 0;
alert("Te has quedado sin dinero en la cuenta");
}
}
Todas las funciones verifican si el saldo es mayor al precio, decrementan el precio de la cuenta o la dejan en cero
Podríamos crear una nueva función que realice esta tarea particular y ejecutarla dentro de las otras funciones
function descontarDinero(cantidadDeDinero) {
if (saldoCuenta >= cantidadDeDinero) {
saldoCuenta -= cantidadDeDinero;
} else {
saldoCuenta = 0;
alert("Te has quedado sin dinero en la cuenta :(");
}
}
Reescribimos las funciones originales para que utilicen la nueva función creada
function comprarMateriaPrima() {
const precio = prompt("Ingrese costo de materia prima");
descontarDinero(precio);
}
function pagarSueldo() {
const sueldo = prompt("Ingrese el sueldo a pagar");
descontarDinero(sueldo);
}
function pagarTraslado() {
const precio = prompt("Ingrese el costo del traslado");
descontarDinero(precio);
}