0% acharam este documento útil (0 voto)
13 visualizações64 páginas

Clean Code

O documento apresenta 10 dicas para escrever código limpo, enfatizando a importância de nomes significativos, eliminação de números mágicos e uso de objetos para melhorar a legibilidade. Destaca a necessidade de evitar comentários desnecessários, utilizar padrões de nomenclatura e métodos do JavaScript para facilitar a compreensão do código. A abordagem visa tornar o código mais claro e fácil de manter, promovendo boas práticas de programação.

Enviado por

nicolle
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
13 visualizações64 páginas

Clean Code

O documento apresenta 10 dicas para escrever código limpo, enfatizando a importância de nomes significativos, eliminação de números mágicos e uso de objetos para melhorar a legibilidade. Destaca a necessidade de evitar comentários desnecessários, utilizar padrões de nomenclatura e métodos do JavaScript para facilitar a compreensão do código. A abordagem visa tornar o código mais claro e fácil de manter, promovendo boas práticas de programação.

Enviado por

nicolle
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

CLEAN CODE

Simplificado

TE ENSINO EM
5 MINUTOS

PARE COM ISSO !!!


10 DICAS DE
CLEAN CODE


1 - ELIMINE
NÚMEROS E PALAVRAS
MAGICAS


2 - SUBSTITUA PARÂMETROS
BOOLEANOS POR ENUMS


3 - PARA FUNÇÕES COM
MÚLTIPLOS PARÂMETROS
USE OBJETOS


4 - USE OBJETOS PARA
REMOVER IFS


5 - USE EARLY RETURN
PARA REDUZIR A
INDENTAÇÃO DOS IFS


6 - USE CONST PARA TORNAR
SEUS IF MAIS LEGÍVEIS


7 - ESCREVA CÓDIGO
AUTOEXPLICATIVO E
ELIMINE COMENTÁRIOS


8 - UTILIZE HAS E IS PARA
TORNAR SEUS BOOLEANOS
MAIS DESCRITIVOS


9 - CRIE UM PADRÃO DE
NOMENCLATURA
10 - UTILIZE MÉTODOS DO
JAVASCRIPT PARA MELHORAR
A LEGIBILIDADE


CLEAN CODE
na Pratica
1pt - Nomes significativos

Quanto nome ruim


em um só lugar

Isaac Gomes
CLEAN CODE

Clean Code é um conceito que se


refere à escrita de código de forma
clara, organizada e legível, facilitando
a manutenção, entendimento e
evolução de sistemas de software. A
ideia central é que o código deve ser
simples e direto, evitando
complexidade desnecessária e
favorecendo a legibilidade para outros
desenvolvedores.

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Nomes que revelam seus Propósitos

pensemos um cenário onde um


usuário vai ter acesso a um recurso
específico no premium da categoria
dele... qual seria um bom nome para
a const que guarda o user???

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Nomes que revelam seus Propósitos

❌ - pouco descritivo

❌ - comentario para se explicar

✅ - autoexplicativo

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Evite Informações Erradas

pensemos em um cenário onde


temos que filtrar usuários banidos
pense em um nome que pode te
induzir ao erro

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Evite Informações Erradas

❌ - nome informa errado

✅ - nome que informa de maneira correta

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Distinções significativas

evite usar termos similares


para informações distintas
deixe o mais legível possível

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Distinções significativas

❌ - nomes similares

✅ - nomes distintos

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
nomes pronunciáveis

use nomes pronunciáveis,


evite abreviações que podem
gerar confusões

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
nomes pronunciáveis

❌ - contem abreviações confusas

✅ - sem abreviações e claro

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
nomes passíveis de busca

use nomes descritivos que


podem ser pesquisados com
facilidade

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
nomes passíveis de busca

❌ - nome sem busca clara

✅ - nome passivel de busca

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não de uma de espertinho

Não de uma de espertinho evite nomes


genéricos ou vagos... mesmo que tenha
contexto da criação escreva de maneira
que qualquer um possa ler

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não de uma de espertinho

❌ - nome generico

✅ - nome explicativo

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não faça trocadilhos

Não coloque nomes engraçadinhos


ou com mais de uma interpretação
possível seja objetivo e claro

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não faça trocadilhos

❌ - O nome DateShifter parece engraçado ou


criativo, mas o termo "shifter" pode ser
confundido com outras coisas (por exemplo,
manipulação de bits ou mudanças de estado)
e não comunica diretamente que a classe
lida com cálculos de datas.

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não faça trocadilhos

✅ - O nome DateCalculator comunica


claramente que a classe realiza cálculos
com datas. Além disso, o nome do método
addDaysToDate explica explicitamente o
que o método faz, tornando o código mais
fácil de entender para todos que o leem.

Isaac Gomes
Capitulo 1
NOMES SIGNIFICATIVOS
Não faça trocadilhos

✅ - O nome DateCalculator comunica


claramente que a classe realiza cálculos
com datas. Além disso, o nome do método
addDaysToDate explica explicitamente o
que o método faz, tornando o código mais
fácil de entender para todos que o leem.

Isaac Gomes
COMO CRIAR NOMES
CONSISTENTES NOS
SEUS PROJETOS
UMA DAS COISAS MAIS
DIFÍCEIS EM PROGRAMAÇÃO
É DAR BONS NOMES

até pq temos
muitos nomes
possíveis para a
mesma coisa
para resolver isso
podemos criar padrões
que facilitem essa escrita

POST - CREATE
PUT - UPDATE
DELETE - DELETE
GET - GET
- ação
- escopo

updateUser()
createUser()
deleteUser()
getUser()
PUT - UPDATE


POST - CREATE


DELETE - DELETE


GET - GET


📝
JA SE DEPAROU COM
ESSE TIPO DE PROBLEMA?

PROCESSA O QUÊ
EXATAMENTE?

QUAL É O ESCOPO?

QUAL É A FINALIDADE?
😌
MAS RELAXA, TEM
UM COMENTÁRIO
EXPLICANDO
Ao chamar a função,
verei o comentário?

Não, mas você


pode abrir o
arquivo para ver.
😌
VAMOS CRIAR CÓDIGOS
QUE SE DOCUMENTEM
POR SI SÓ

o que faz?
Formata
Formata o que?
Usuário

Formata o Usuario
para onde ?
exibição
Que lindo cara!

Agora, ao chamar, fica


claro o que faz
então não posso
usar comentários?

😄
Pode usar, mas apenas
quando houver uma
necessidade real.
😂
Agora se vc faz isso...
melhore por favor
PARE DE ESCREVER
ESSE TIPO DE FUNÇÃO
Vamos analisar os
problemas dessa função
1 - parâmetros não nomeados

2 - Passar parâmetros
booleanos pode dificultar
a compreensão do código,
pois não deixa claro o
propósito do valor.
Resolvendo
1 -Vamos organizar nossos
parâmetros usando um objeto
com nomes descritivos.

2 - usaremos um enum para


tornar o código ainda mais
descritivo e fácil de entender.
A tipagem já mostra
que é um array.

O nome não indica


claramente o propósito
Ao utilizar algo como
fetchingUsers, você acaba
abrindo espaço para a
criação de funções como...

Observe que todos


realizam buscas, porém
não há um padrão
definido para a
nomenclatura.

Agora, alteramos tudo


para usar o prefixo do
verbo "get", o que
resultou em um código
mais padronizado e claro

Agora, vamos alterar o


retorno para um objeto,
utilizando nomes que
facilitem o seu uso e
eliminem redundâncias
como "users", "products",
etc.

Para evitar a necessidade de


renomeação, evite o uso de
export default.

Agora, além de utilizarmos o


export, obtemos um retorno
mais claro e objetivo.
PARE DE ESCREVER


IFS DESSA MANEIRA

hadouken
use early return

MELHORANDO OS NOMES
DAS SUAS VARIÁVEIS
UM ERRO COMUM É NOMEAR FUNÇÕES
DE FORMA QUE NÃO DEIXEM CLARO
QUE RETORNAM UM BOOLEAN.

"VERIFICAR ACESSO" PODE


PARECER UM BOM NOME, MAS NÃO
DESCREVE CLARAMENTE A
FUNCIONALIDADE QUE ELE REALIZA.
TEM UM JEITO MELHOR ???

"É ADMINISTRADOR" TORNA A FUNÇÃO


INTUITIVA E SEU RETORNO BOOLEANO,
TORNANDO O COMPORTAMENTO
PREVISÍVEL.
SE O BOOLEANO ESTIVER
RELACIONADO A POSSE OU
EXISTÊNCIA, UTILIZE "HAS"

OBSERVE COMO O USO DE "IS" E "HAS"


TRAZ MAIS CLAREZA AOS NOSSOS
BOOLEANOS, TORNANDO O CÓDIGO MAIS
SIMPLES E FÁCIL DE LER.
Gostou?

Curta

Compartilhe

Salve

Ative as notificações

Você também pode gostar