DEV Community

Cover image for Clean Code Simplificado
Bruno Souza Ramos
Bruno Souza Ramos

Posted on

Clean Code Simplificado

"Clean code always looks like it was written by someone who cares." — Robert C. Martin


Índice


Introdução

Clean Code é a arte de escrever código claro, organizado e legível, facilitando a manutenção e evolução de sistemas. Vamos explorar práticas essenciais com exemplos práticos e fáceis de aplicar.


1. Elimine Números e Palavras Mágicas

Evite usar valores "mágicos" diretamente no código.

Antes:

if (user.type === "P") {
  //...
}
Enter fullscreen mode Exit fullscreen mode

Depois:

const PREMIUM_USER = "P";
if (user.type === PREMIUM_USER) {
  //...
}
Enter fullscreen mode Exit fullscreen mode

2. Substitua Parâmetros Booleanos por Enums

Torne o significado explícito usando enums.

Antes:

createUser("John", true);
Enter fullscreen mode Exit fullscreen mode

Depois:

const UserType = {
  ADMIN: 'admin',
  REGULAR: 'regular'
};

createUser("John", UserType.ADMIN);
Enter fullscreen mode Exit fullscreen mode

3. Use Objetos para Agrupar Parâmetros

Melhore a legibilidade agrupando parâmetros relacionados.

Antes:

createUser("John", "Doe", 30, true);
Enter fullscreen mode Exit fullscreen mode

Depois:

createUser({
  firstName: "John",
  lastName: "Doe",
  age: 30,
  isAdmin: true
});
Enter fullscreen mode Exit fullscreen mode

4. Remova IFs Usando Objetos

Substitua múltiplos IFs por mapeamento de ações.

Antes:

if (userType === 'admin') { doAdminStuff(); }
else if (userType === 'guest') { doGuestStuff(); }
Enter fullscreen mode Exit fullscreen mode

Depois:

const actions = {
  admin: doAdminStuff,
  guest: doGuestStuff
};

actions[userType]?.();
Enter fullscreen mode Exit fullscreen mode

5. Use Early Return

Reduza a complexidade saindo da função o quanto antes.

Antes:

if (user) {
  if (user.isActive) {
    processUser(user);
  }
}
Enter fullscreen mode Exit fullscreen mode

Depois:

if (!user || !user.isActive) return;

processUser(user);
Enter fullscreen mode Exit fullscreen mode

6. Torne seus IFs Mais Legíveis com Const

Nomeie condições para facilitar a leitura.

Exemplo:

const hasPremiumAccess = user.isPremium && user.subscriptionActive;

if (hasPremiumAccess) {
  grantPremiumAccess(user);
}
Enter fullscreen mode Exit fullscreen mode

7. Escreva Código Autoexplicativo

Código claro reduz a necessidade de comentários.

Antes:

// Verifica se o usuário é admin
if (user.role === 'admin') {...}
Enter fullscreen mode Exit fullscreen mode

Depois:

const isAdmin = user.role === 'admin';

if (isAdmin) {...}
Enter fullscreen mode Exit fullscreen mode

8. Utilize "has" e "is" em Booleans

Prefira prefixos que indiquem claramente valores booleanos.

Antes:

function checkUserAccess(user) {...}
Enter fullscreen mode Exit fullscreen mode

Depois:

function isUserAuthorized(user) {...}
Enter fullscreen mode Exit fullscreen mode

9. Padronize a Nomenclatura

Use convenções claras para nomear funções e métodos.

Exemplos:

getUser();
createUser();
updateUser();
deleteUser();
Enter fullscreen mode Exit fullscreen mode

10. Aproveite Métodos do JavaScript

Simplifique seu código usando métodos nativos.

Antes:

let activeUsers = [];
for (let i = 0; i < users.length; i++) {
  if (users[i].isActive) {
    activeUsers.push(users[i]);
  }
}
Enter fullscreen mode Exit fullscreen mode

Depois:

const activeUsers = users.filter(user => user.isActive);
Enter fullscreen mode Exit fullscreen mode

Dicas Extras sobre Nomes

- Use Nomes Significativos

// Ruim
const d = getData();

// Bom
const userData = getUserData();
Enter fullscreen mode Exit fullscreen mode

- Evite Informações Erradas

// Ruim
const activeUsers = bannedUsers.filter(...);

// Bom
const bannedUsers = users.filter(...);
Enter fullscreen mode Exit fullscreen mode

- Faça Distinções Claras

// Ruim
const data1 = getUserData();
const data2 = getAdminData();

// Bom
const userData = getUserData();
const adminData = getAdminData();
Enter fullscreen mode Exit fullscreen mode

- Use Nomes Pronunciáveis e Buscáveis

// Ruim
const usrInf = getUsrInf();

// Bom
const userInfo = getUserInfo();
Enter fullscreen mode Exit fullscreen mode

- Evite Trocadilhos

// Ruim
const DateShifter = ...;

// Bom
const DateCalculator = ...;
Enter fullscreen mode Exit fullscreen mode

Conclusão

Clean Code não é apenas estética: é comunicação. Código limpo facilita manutenções futuras, acelera novos desenvolvedores no projeto e torna a evolução de sistemas mais sustentável.

Adote essas práticas aos poucos e veja a diferença na qualidade dos seus projetos!


Referências

Top comments (0)