SlideShare uma empresa Scribd logo
Clean Code Matters!
Por que Clean Code importa e 5 dicas para melhorar
seu código.
Kewerson Hugo
@kewersonhugo
O que é
Clean Code?
Fácil de
ler
Fácil de
entender
Fácil de
manter
Comunicação e
expressão
Menos
ambiguidade
Workflow
Interação entre
objetos
Propósito de
existir
Mas por quê
importa?
Nós lemos mais
do que
escrevemos
Outros irão ler
seu código
Clean Code Matters - JavaScript
Clean Code Matters - JavaScript
Código não é
abandonado
O mais difícil é
manter
Aumenta a
confiança
Clean Code Matters - JavaScript
// ---------------------------------------------------
// VARIAVEIS
// ---------------------------------------------------
let message = "Hello World!"
let contador = 0
// ---------------------------------------------------
// FUNCOES
// ---------------------------------------------------
function incrementaContador() {
contador++ //Incrementa o contador.
}
//function helloWorld() {
// print("Hello World!")
//}
// ---------------------------------------------------
// VARIAVEIS
// ---------------------------------------------------
let message = "Hello World!"
let contador = 0
// ---------------------------------------------------
// FUNCOES
// ---------------------------------------------------
function incrementaContador() {
contador++ //Incrementa o contador.
}
//function helloWorld() {
// print("Hello World!")
//}
// ---------------------------------------------------
// VARIAVEIS
// ---------------------------------------------------
let message = "Hello World!"
let contador = 0
// ---------------------------------------------------
// FUNCOES
// ---------------------------------------------------
function incrementaContador() {
contador++ //Incrementa o contador.
}
// ---------------------------------------------------
// VARIAVEIS
// ---------------------------------------------------
let message = "Hello World!"
let contador = 0
// ---------------------------------------------------
// FUNCOES
// ---------------------------------------------------
function incrementaContador() {
contador++ //Incrementa o contador.
}
// ---------------------------------------------------
// VARIAVEIS
// ---------------------------------------------------
let message = "Hello World!"
let contador = 0
// ---------------------------------------------------
// FUNCOES
// ---------------------------------------------------
function incrementaContador() {
contador++ //Incrementa o contador.
}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++ //Incrementa o contador.
}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++ //Incrementa o contador.
}
//function helloWorld() {
// print("Hello World!")
//}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++ //Incrementa o contador.
}
//function helloWorld() {
// print("Hello World!")
//}
et message = "Hello World!"
et contador = 0
unction incrementaContador() {
contador++ //Incrementa o contador.
/function helloWorld() {
/ print("Hello World!")
Clean Code Matters - JavaScript
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++ //Incrementa o contador.
}
//function helloWorld() {
// print("Hello World!")
//}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++
}
//function helloWorld() {
// print("Hello World!")
//}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++
}
//function helloWorld() {
// print("Hello World!")
//}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++
}
//function helloWorld() {
// print("Hello World!")
//}
let message = "Hello World!"
let contador = 0
function incrementaContador() {
contador++
}
1# Evite códigos e
comentários inúteis
function authUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function authUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function aaautenticaaaLoginUsuaaario()
{…}
function usuaaarioaaaprovaaado() {
let aaa = "Paaaraaabéns"
…
}
function aaautenticaaaLoginUsuaaario()
{…}
function usuaaarioaaaprovaaado() {
let aaa = "Paaaraaabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let a = "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let mensagemDeBoasVindas
= "Parabéns"
…
}
function autenticaLoginUsuario() {…}
function usuarioAprovado() {
let mensagemDeBoasVindas
= "Parabéns"
…
}
2# Use nomes
descritivos
let ddmmyyyyStr
= formataDataAtual("dd-MM-yyyy")
let ddmmyyyyStr
= formataDataAtual("dd-MM-yyyy")
Clean Code Matters - JavaScript
let ddmmyyyyStr
= formataDataAtual("dd-MM-yyyy")
let dataAtualCompleta
= formataDataAtual("dd-MM-yyyy")
let dataAtualCompleta
= formataDataAtual("dd-MM-yyyy")
3# Use nomes
pronunciáveis
if (idade > 18) {
if (!faturaPendente) { … }
}
if (idade > 18) {
if (!faturaPendente) {
if (condicao3) {
if (condicao4) {
if (condicao5) { … }
}
}
}
}
if (idade > 18) {
if (!faturaPendente) {
if (condicao3) {
if (condicao4) {
if (condicao5) { … }
}
}
}
}
Clean Code Matters - JavaScript
if (idade > 18) {
if (!faturaPendente) { … }
}
if (idade > 18
&& !faturaPendente) { … }
if (idade > 18
&& !faturaPendente) { … }
if (idade > 18
&& !faturaPendente) { … }
if (idade > 18
&& !faturaPendente
&& condicao3
&& condicao4
&& condicao5
&& condicao6) { … }
if (idade > 18
&& !faturaPendente
&& condicao3
&& condicao4
&& condicao5
&& condicao6) { … }
NO
if (idade > 18
&& !faturaPendente) { … }
function () {
}
if (idade > 18
&& !faturaPendente) { … }
function () {
}
if (idade > 18
&& !faturaPendente) { … }
function (idade, faturaPendente) {
}
if (idade > 18
&& !faturaPendente) { … }
function (idade, faturaPendente) {
}
if (idade > 18
&& !faturaPendente) { … }
function (idade, faturaPendente) {
return idade > 18
&& !faturaPendente
}
if () { … }
function isUsuarioValido(idade,
faturaPendente) {
return idade > 18
&& !faturaPendente
}
if () { … }
function isUsuarioValido(idade,
faturaPendente) {
return idade > 18
&& !faturaPendente
}
if (isUsuarioValido(idade,
faturamentendete)) { … }
function isUsuarioValido(idade,
faturaPendente) {
return idade > 18
&& !faturaPendente
}
if (isUsuarioValido(idade,
faturamentendete)) { … }
4# Encapsule
condicionais
dentro funções
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
Clean Code Matters - JavaScript
Clean Code Matters - JavaScript
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
let numeroAntesDoCinco = 4
let capitalDoParana = "Curitiba"
...
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
pacote.frete = Correios.frete(
pacote.endereco, endereco)
return pacote.frete
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
Clean Code Matters - JavaScript
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(endereco) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(origem, destino) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(origem, destino) {
return Correios.frete(pacote.endereco, endereco)
}
let pacote = Pacote( … )
function calculaFrete(origem, destino) {
return Correios.frete(origem, destino)
}
let pacote = Pacote( … )
function calculaFrete(origem, destino) {
return Correios.frete(origem, destino)
}
5# Evite efeitos
colaterais
Clean Code Matters - JavaScript
Clean Code Matters - JavaScript

Mais conteúdo relacionado

PDF
Clean Code Matters!
PDF
SQL - Banco de Dados Biblioteca
ODP
Clean code
PDF
Cafe com Tom - ExtJS 4
PDF
Bread board
PPTX
Clean Code - Fork In Tuba
PDF
Introdução a JavaScript
PPTX
Introdução ao JS1.pptx
Clean Code Matters!
SQL - Banco de Dados Biblioteca
Clean code
Cafe com Tom - ExtJS 4
Bread board
Clean Code - Fork In Tuba
Introdução a JavaScript
Introdução ao JS1.pptx

Semelhante a Clean Code Matters - JavaScript (20)

PPTX
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
PDF
Programação funcional em JavaScript: como e por quê?
PDF
TDC 2014 POA - Clean Code para Testers
PDF
Introdução à MEAN Stack
PPTX
Javascript
PDF
Clean Code: 5 Dicas Que Vão Tornar O Seu Código Muito Mais Elegante
PPTX
PDF
LabMM3 - Aula teórica 13
PPTX
Clean Code
PDF
(A16) LabMM3 - JavaScript - Erros
PDF
T17_LM3: Erros/Debug (2013-2014)
PDF
Evolução e futuro do uso de paradigmas no JavaScript
PDF
A Arte do Código Limpo
PDF
Refactoring
PPTX
Uma abordagem funcional para gerenciamento de erros
PPTX
Clean Code
PPTX
Clean Code e Object Calisthenics - Aplicados no PHP
PDF
TDC2016SP - Trilha Node.Js
PDF
Código limpo: Funções Capítulo 3
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
Programação funcional em JavaScript: como e por quê?
TDC 2014 POA - Clean Code para Testers
Introdução à MEAN Stack
Javascript
Clean Code: 5 Dicas Que Vão Tornar O Seu Código Muito Mais Elegante
LabMM3 - Aula teórica 13
Clean Code
(A16) LabMM3 - JavaScript - Erros
T17_LM3: Erros/Debug (2013-2014)
Evolução e futuro do uso de paradigmas no JavaScript
A Arte do Código Limpo
Refactoring
Uma abordagem funcional para gerenciamento de erros
Clean Code
Clean Code e Object Calisthenics - Aplicados no PHP
TDC2016SP - Trilha Node.Js
Código limpo: Funções Capítulo 3
Anúncio

Último (6)

PDF
apresentacao introducao computacao ead.pdf
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Dos requisitos ao código: como criar código rastreável em PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
apresentacao introducao computacao ead.pdf
Evolução em código: algoritmos genéticos com PHP
Curso de Windows 11 resumido na prática.pptx
Dos requisitos ao código: como criar código rastreável em PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Anúncio

Clean Code Matters - JavaScript