Skip to content

Comentarios

Comenta solo elementos con complejidad en la lógica de negocio.

Los comentarios son una justificación, no un requisito. El buen código en su mayoría se explica por sí mismo.

No recomendado:

javascript
function hashIt(data) {
  // The hash
  let hash = 0;

  // Length of string
  const length = data.length;

  // Loop through every character in data
  for (let i = 0; i < length; i++) {
    // Get character code.
    const char = data.charCodeAt(i);
    // Make the hash
    hash = (hash << 5) - hash + char;
    // Convert to 32-bit integer
    hash &= hash;
  }
}

Recomendado:

javascript
function hashIt(data) {
  let hash = 0;
  const length = data.length;

  for (let i = 0; i < length; i++) {
    const char = data.charCodeAt(i);
    hash = (hash << 5) - hash + char;

    // Convert to 32-bit integer
    hash &= hash;
  }
}

No dejes código comentado en tu base de código

El control de versiones existe por una razón. Guarda el código antiguo en tu historial.

No recomendado:

javascript
doStuff();
// doOtherStuff();
// doSomeMoreStuff();
// doSoMuchStuff();

Recomendado:

javascript
doStuff();

Evita comentarios de registro

Recuerda: ¡usa control de versiones! No necesitas código inactivo, código comentado, ni especialmente registros en comentarios. Usa git log para ver el historial.

No recomendado:

javascript
/**
 * 2016-12-20: Removed monads, didn't understand them (RM)
 * 2016-10-01: Improved using special monads (JP)
 * 2016-02-03: Removed type-checking (LI)
 * 2015-03-14: Added combine with type-checking (JR)
 */
function combine(a, b) {
  return a + b;
}

Recomendado:

javascript
function combine(a, b) {
  return a + b;
}

Evita marcadores posicionales

Generalmente solo añaden ruido visual. Deja que los nombres de funciones/variables, junto con la indentación y formato adecuados, den estructura visual al código.

No recomendado:

javascript
////////////////////////////////////////////////////////////////////////////////
// Scope Model Instantiation
////////////////////////////////////////////////////////////////////////////////
$scope.model = {
  menu: "foo",
  nav: "bar"
};

////////////////////////////////////////////////////////////////////////////////
// Action setup
////////////////////////////////////////////////////////////////////////////////
const actions = function() {
  // ...
};

Recomendado:

javascript
$scope.model = {
  menu: "foo",
  nav: "bar"
};

const actions = function() {
  // ...
};