Pensar Como Senior / Codigo Facil de Entender
Codigo Facil de Entender
Escrever Codigo que Gente Consegue Entender
Um jeito simples de decidir nomes, estrutura e nivel de abstracao sem transformar o codigo num quebra-cabeca.
O problema
Tem codigo que funciona, passa no teste e mesmo assim deixa todo mundo mais lento.
Nao porque a logica e dificil.
Mas porque cada nome exige interpretacao, cada funcao mistura responsabilidades e cada abstracao parece pedir mais contexto do que entrega.
Modelo mental
Codigo nao e so instrucao para maquina.
Codigo tambem e explicacao para a proxima pessoa que vai ler, revisar ou mudar aquilo.
Se voce precisa parar a cada linha para decifrar a intencao, o problema nao e falta de inteligencia. O codigo e que esta cobrando contexto demais.
Quebrando o problema
Uma forma simples de escrever melhor e esta:
- escolha nomes que expliquem intencao, nao implementacao
- mantenha uma funcao focada em uma responsabilidade visivel
- aproxime o codigo que muda junto
- extraia abstracao so quando ela realmente simplifica a leitura
O objetivo nao e deixar tudo curto.
O objetivo e deixar claro o bastante para outra pessoa continuar sem adivinhar.
Exemplo simples
Imagine este codigo:
function p(u) {
return u.filter((x) => x.a).map((x) => x.n)
}
Ele ate funciona.
Mas voce precisa descobrir o que p, u, a e n significam antes de confiar no que esta acontecendo.
Uma versao melhor seria:
function getActiveUserNames(users: User[]) {
return users.filter((user) => user.isActive).map((user) => user.name)
}
Agora a leitura fica quase imediata.
Voce nao ganhou so beleza. Ganhou velocidade de entendimento.
Erros comuns
- usar nome curto demais para parecer elegante
- quebrar tudo em funcoes pequenas que escondem a linha principal
- criar abstracao cedo demais
- priorizar “codigo seco” quando a leitura ficaria pior
Como um senior pensa
Um senior forte nao escreve para impressionar.
Ele escreve para reduzir atrito.
Normalmente isso soa assim:
Se eu voltar aqui daqui a tres meses, eu ainda vou entender rapido o que este bloco faz e por que ele existe?
Essa pergunta costuma melhorar nome, estrutura e nivel de abstracao quase sozinha.
O que o entrevistador quer ver
Em entrevista, isso aparece de forma simples:
- seus nomes ajudam ou atrapalham?
- sua solucao tem uma linha principal facil de seguir?
- voce sabe quando extrair uma funcao e quando deixar junto?
Quem escreve codigo legivel costuma parecer mais maduro do que quem tenta soar sofisticado.
Codigo bom nao e o que parece esperto. E o que continua claro quando outra pessoa encosta nele.
Se a leitura ficou mais dificil depois da abstracao, talvez ela nao tenha ajudado.