DEV Community

Cover image for Comentários (Código Limpo: Que Bruxaria é Essa?!?! - Parte Final)
ananopaisdojavascript
ananopaisdojavascript

Posted on

3 2

Comentários (Código Limpo: Que Bruxaria é Essa?!?! - Parte Final)

Comente apenas códigos com lógica de negócio complexa

Comentários são um pedido de desculpas, não uma necessidade. Um bom código se documenta por si só na maioria das vezes.

Não é recomendável:

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;
  }
}
Enter fullscreen mode Exit fullscreen mode

É recomendável:

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;
  }
}
Enter fullscreen mode Exit fullscreen mode

Não deixe código comentado na sua base de códigos

Controle de versão existe por um motivo. Deixe o código antigo no seu histórico.

Não é recomendável:

doStuff();
// doOtherStuff();
// doSomeMoreStuff();
// doSoMuchStuff();
Enter fullscreen mode Exit fullscreen mode

É recomendável:

doStuff();
Enter fullscreen mode Exit fullscreen mode

Não tenha diários de comentários

Lembre-se, use controle de versão! Não há necessidade de código morto, código comentado e muito menos diário de comentários. Use git log para acessar o histórico!

Não é recomendável:

/**
 * 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;
}
Enter fullscreen mode Exit fullscreen mode

É recomendável:

function combine(a, b) {
  return a + b;
}
Enter fullscreen mode Exit fullscreen mode

Evite marcadores de posição

Marcadores de posição só deixam sujeira. Deixe as funções e nomes de variáveis com o alinhamento e formatação adequados, dando estrutura visual ao seu código.

Não é recomendável:

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

////////////////////////////////////////////////////////////////////////////////
// Action setup
////////////////////////////////////////////////////////////////////////////////
const actions = function() {
  // ...
};
Enter fullscreen mode Exit fullscreen mode

É recomendável:

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

const actions = function() {
  // ...
};
Enter fullscreen mode Exit fullscreen mode

E aí? Gostaram? Até a próxima anotação! 😊

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more