Até aqui, você aprendeu a escrever código JavaScript correto, moderno e organizado.

Agora damos um passo além:

como escrever código mais eficiente, performático e sustentável.

Isso é o que diferencia código que “funciona” de código que escala.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que significa otimizar código
  • Identificar gargalos comuns
  • Evitar otimizações prematuras
  • Escrever código mais claro e eficiente

O que é otimização de código?

Otimizar código não é:

  • escrever código “esperto”
  • trocar legibilidade por micro performance

Otimizar código é:

  • reduzir trabalho desnecessário
  • evitar repetições inúteis
  • melhorar a experiência do usuário

Regra de ouro da otimização

Primeiro faça funcionar. Depois faça ficar bom. Só então pense em otimizar.

Otimização prematura costuma gerar:

  • código difícil de manter
  • ganhos irrelevantes
  • mais bugs

Gargalos comuns em JavaScript

Na prática, problemas de performance costumam vir de:

  • loops desnecessários
  • manipulação excessiva do DOM
  • funções executando vezes demais
  • eventos disparando sem controle

Vamos ver exemplos.

Exemplo — repetição desnecessária

 function calcularTotal(itens) { let total = 0;

for (let i = 0; i < itens.length; i++) {
total += itens[i].preco;
}

return total;
}

console.log(calcularTotal([
{ preco: 10 },
{ preco: 20 },
{ preco: 30 }
])); // Saída será: 60

Esse código está correto.

Mas podemos torná-lo mais claro e igualmente eficiente:

 function calcularTotal(itens) { return itens.reduce((total, item) => total + item.preco, 0); }

console.log(calcularTotal([
{ preco: 10 },
{ preco: 20 },
{ preco: 30 }
])); // Saída será: 60

Aqui, a otimização é mais sobre clareza do que velocidade.

Evite trabalhar mais do que o necessário

❌ Ruim:

 for (let i = 0; i < lista.length; i++) { document.getElementById("resultado").innerHTML += lista[i]; } 

Esse código:

  • acessa o DOM repetidamente
  • é lento em listas grandes

✅ Melhor:

 const resultado = document.getElementById("resultado"); let html = "";

for (let i = 0; i < lista.length; i++) {
html += lista[i];
}

resultado.innerHTML = html;

Cache de valores importantes

Se um valor não muda, não o recalcule:

 const botao = document.querySelector("#btn");

botao.addEventListener("click", () => {
// usa botao sem buscar novamente
});

Isso parece pequeno, mas em aplicações grandes faz diferença.

Performance não é só velocidade

Performance também envolve:

  • tempo de resposta
  • consumo de memória
  • fluidez da interface

E é por isso que, nas próximas aulas, vamos falar de:

  • controle de eventos (debounce e throttle)
  • vazamentos de memória
  • segurança

Mentalidade correta

Sempre se pergunte:

  • isso roda quantas vezes?
  • isso poderia rodar menos?
  • isso está claro?

Código claro costuma ser mais rápido do que código “esperto”.

Resumo da aula para nunca mais esquecer

  • Otimizar não é complicar
  • Evite trabalho desnecessário
  • Priorize clareza e legibilidade
  • Identifique gargalos reais
  • Otimização vem depois de funcionar

Na próxima aula, vamos atacar um dos maiores vilões da performance: Debounce e Throttle.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!


A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.