Skip to content

Commentaires

Commentez uniquement les éléments présentant une complexité métier

Les commentaires sont une solution de secours, pas une obligation. Un bon code s'explique généralement de lui-même

Non recommandé :

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;
  }
}

Recommandé :

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;
  }
}

Évitez de conserver du code commenté dans votre base de code

Utilisez le contrôle de version pour gérer l'historique. Laissez l'ancien code dans votre historique

Non recommandé :

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

Recommandé :

javascript
doStuff();

Interdisez les commentaires de journalisation

Utilisez le contrôle de version ! Aucun besoin de code mort, de code commenté ou de journal dans les commentaires. Consultez l'historique avec git log

Non recommandé :

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;
}

Recommandé :

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

Limitez les marqueurs de position

Ils ajoutent généralement du bruit visuel. Structurez votre code via : noms de fonctions/variables appropriés, indentation et mise en forme adaptées

Non recommandé :

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

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

Recommandé :

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

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