Skip to content

Variables

Usa nombres de variables significativos y pronunciables

Mal:

javascript
const yyyymmdstr = moment().format("YYYY/MM/DD");

Bien:

javascript
const currentDate = moment().format("YYYY/MM/DD");

Usa el mismo vocabulario para variables del mismo tipo

Mal:

javascript
getUserInfo();
getClientData();
getCustomerRecord();

Bien:

javascript
getUser();

Usa nombres buscables

Leeremos más código del que escribiremos. Es crucial que el código que escribimos sea legible y localizable. Al no usar nombres que transmiten significado para entender nuestro programa, perjudicamos a los lectores. Haz tus nombres buscables. Herramientas como buddy.js y ESLint pueden ayudar a identificar números mágicos sin nombre.

Mal:

javascript
// What the heck is 86400000 for?
setTimeout(blastOff, 86400000);

Bien:

javascript
// Declare them as capitalized named constants.
const MILLISECONDS_PER_DAY = 60 * 60 * 24 * 1000; //86400000;

setTimeout(blastOff, MILLISECONDS_PER_DAY);

Usa variables explicativas

Mal:

javascript
const address = "One Infinite Loop, Cupertino 95014";
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
saveCityZipCode(
  address.match(cityZipCodeRegex)[1],
  address.match(cityZipCodeRegex)[2]
);

Bien:

javascript
const address = "One Infinite Loop, Cupertino 95014";
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
const [_, city, zipCode] = address.match(cityZipCodeRegex) || [];
saveCityZipCode(city, zipCode);

Evitar el mapeo mental

Lo explícito es mejor que lo implícito.

Mal:

javascript
const locations = ["Austin", "New York", "San Francisco"];
locations.forEach(l => {
  doStuff();
  doSomeOtherStuff();
  // ...
  // ...
  // ...
  // Wait, what is `l` for again?
  dispatch(l);
});

Bien:

javascript
const locations = ["Austin", "New York", "San Francisco"];
locations.forEach(location => {
  doStuff();
  doSomeOtherStuff();
  // ...
  // ...
  // ...
  dispatch(location);
});

Evita agregar contexto innecesario

Si tu clase/objeto ya indica información, no repitas eso en el nombre de la variable.

Mal:

javascript
const Car = {
  carMake: "Honda",
  carModel: "Accord",
  carColor: "Blue"
};

function paintCar(car, color) {
  car.carColor = color;
}

Bien:

javascript
const Car = {
  make: "Honda",
  model: "Accord",
  color: "Blue"
};

function paintCar(car, color) {
  car.color = color;
}

Usa parámetros predeterminados en lugar de cortocircuitos o condicionales

Los parámetros predeterminados son más limpios que los cortocircuitos. Ten en cuenta que si los usas, tu función solo proveerá valores predeterminados para argumentos undefined. Otros valores "falsos" como '', "", false, null, 0 y NaN no serán reemplazados por valores predeterminados.

Mal:

javascript
function createMicrobrewery(name) {
  const breweryName = name || "Hipster Brew Co.";
  // ...
}

Bien:

javascript
function createMicrobrewery(name = "Hipster Brew Co.") {
  // ...
}