Clean Code em JavaScript: princípios e exemplos na prática

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Clean Code em JavaScript: princípios e exemplos na prática



Código limpo não é apenas um termo da moda, mas uma necessidade profissional. No mundo do JavaScript e Node.js, onde os projetos crescem e mudam rapidamente, a habilidade de escrever código compreensível e sustentável diferencia o desenvolvedor experiente do iniciante. Neste artigo, vamos analisar os princípios-chave do Clean Code com exemplos concretos da prática real.



Por que o código limpo é importante para o desenvolvedor JavaScript?



JavaScript é uma linguagem com tipagem dinâmica, o que a torna flexível, mas também mais propensa a erros. Código mal escrito em Node.js pode transformar a manutenção do projeto em um pesadelo. Clean Code ajuda a:

  • Reduzir o tempo de depuração e refatoração
  • Simplificar a integração de novos desenvolvedores no projeto
  • Diminuir a quantidade de bugs em produção
  • Aumentar a produtividade da equipe


Vamos passar para os princípios e exemplos específicos.



Princípio 1: Nomes significativos para variáveis e funções



A regra mais simples e, ao mesmo tempo, a mais violada. O nome da variável deve responder à pergunta "o que é isso?" ou "para que serve isso?".



Exemplo ruim:

// Ruim: o que é d? o que fn faz?const d = new Date();const fn = (a, b) => a + b;const arr = [1, 2, 3, 4];const x = arr.filter(i => i > 2);


Exemplo bom:

// Bom: compreensível sem comentáriosconst currentDate = new Date();const sum = (firstNumber, secondNumber) => firstNumber + secondNumber;const numbers = [1, 2, 3, 4];const filteredNumbers = numbers.filter(number => number > 2);


Regra para Node.js: se você trabalha com operações assíncronas, adicione sufixos que indiquem o tipo de valor retornado: getUserDataAsync, fetchPosts.



Princípio 2: Funções devem ser pequenas e fazer uma única coisa (KISS)



O princípio KISS (Keep It Simple, Stupid) em JavaScript é criticamente importante. Uma função não deve ser um "canivete suíço".



Exemplo ruim — função-monstro:

// Ruim: uma função faz tudofunction processUserData(user) {    // Validação    if (!user.email || !user.name) {        throw new Error('Invalid user data');    }        // Formatação    const formattedName = user.name.trim().toLowerCase();    const formattedEmail = user.email.trim().toLowerCase();        // Salvamento no BD    db.save({ name: formattedName, email: formattedEmail });        // Envio de email    emailService.sendWelcome(formattedEmail);        // Registro de log    logger.info(`User ${formattedName} processed`);}


Exemplo bom — separação de responsabilidades:

// Bom: cada função é responsável por uma tarefafunction validateUserData(user) {    if (!user.email || !user.name) {        throw new Error('Invalid user data');    }}

function formatUserData(user) { return { name: user.name.trim().toLowerCase(), email: user.email.trim().toLowerCase() };}

async function processUserRegistration(userData) { validateUserData(userData); const formattedUser = formatUserData(userData); await db.save(formattedUser); await emailService.sendWelcome(formattedUser.email); logger.info(`User ${formattedUser.name} processed`); return formattedUser;}


Esse código é mais fácil de testar, depurar e expandir.



Princípio 3: Evite números e strings mágicos (DRY)



"Números mágicos" são literais cujo significado não é óbvio. Extraia-os para constantes com nomes compreensíveis.



Exemplo ruim:

// Ruim: o que é 1000? por que 60?setTimeout(() => {    if (user.age > 65)                

Blogs

Book Recommendations