SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Clean code
Tudo que você precisa saber antes de
começar a codar!
● Desenvolvedora front-end na @Loggi ;
● Formada em Design Gráfico ;
● Focada em realizar eventos que tragam mais
mulheres para o mundo da programação ;
Evelise V. Dib
Origem
Uncle Bob ou Robert Cecil Martin foi o autor do livro Clean Code que
aborda temas de boas práticas e cultura no mercado de desenvolvimento
de software.
Conceito
01 02 03
Aceitável em
qualquer
linguagem
Fácil
manutenção
Utilizado no
mercado por
grandes
empresas
04
Mais
produtivo
“My code is
working well,
and my client is
happy. Why should
I care?”
Quem já teve dificuldade de
entender um código escrito por
terceiros?
O Clean Code visa criar códigos de
forma simples a fim de facilitar a
escrita e leitura.
Podemos dizer que é um guia do
mochileiro das galáxias do
programador moderno.
A ideia está ligada diretamente com
a produtividade e empenho de um
programador.
Por que devemos usar?
Keep it Simple
Stupid - Meu código
pode ser escrito de
forma mais simples?
Don’t Repeat
Yourself - Cada
pedaço de código
deve ser único.
You Aren’t Gonna
Need It - Não
desenvolva algo que
será desnecessário.
Muito revisitado
quando um código é
refatorado.
Princípios
KISS DRY YAGNI
Composição sobre
herança - Mais
focado em
linguagens
orientadas a objeto.
Projete os tipos para
o que eles fazem
sobre o que são.
Por favor,
legibilidade - Não é
porque uma
máquina consegue
entender seu código
que um ser humano
também consegue.
Consistência -
Mantenha um
padrão ao longo do
projeto todo. Caso
seja necessário
alterar, deixe um
comentário
explicando.
Princípios
Composition
over
Inheritance
Favor
Readability
Practice
Consistency
Saindo da teoria e entrando no
código
Variáveis
Nomes de variáveis
precisam ter
significado e fácil
pronuncia.
Variáveis
Use nomes
pesquisáveis. Caso
não damos um
“significado” para
aquele número,
machucamos
nossos leitores
Contexto
Remova contextos desnecessários e
repetidos. Não é necessário repetir o
nome da variável.
Responsabilidades
Funções devem ter
apenas uma
responsabilidade
SOLID
Argumentos
Evite usar mais de dois
argumentos em funções
Na hora de testar,
fica bem mais fácil e
acessível
Flags
Se o seu código necessita de uma
flag, significa que você está
fazendo mais do que deveria em
uma função
Testes
Evite colocar mais de uma
condição por teste! (um “it” para
cada “assert”)
Nomes são
importantes! Seja
preciso;
Comente apenas
se for realmente
necessário. Um
bom código é
autoexplicativo;
Se possível, não
repita código;
Um código limpo
é mais fácil de ser
testado, seja
unitário ou
integração;
Dicas
Nomes Comentários DRY Teste
Conceitos passo a passo
Ordenação
02
Sistematizar
03
Limpeza
04
Padronização
01
Bora botar em prática?
Não disse que seria fácil
Clean
Code
Me
CREDITS: This presentation template was created by
Slidesgo, including icons by Flaticon, and infographics
& images by Freepik.
THANKS!
Alguma dúvida?
evelisevazquez@gmail.com
@evelisevazquez
linkedin.com/evelisevazquez
Please keep this slide for attribution.
ReferÊncias
● Carbon - Prints de Código
● Clean Code em Javascript
● Clean Code em Python
● Clean code em Typescript
● Como escrever clean code
● Princípios do Clean Code

Mais conteúdo relacionado

Mais procurados

The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon Heck
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"thiagobapt
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
Código limpo: Comentários
Código limpo:   ComentáriosCódigo limpo:   Comentários
Código limpo: ComentáriosInael Rodrigues
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...tdc-globalcode
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss DanielChristofolli
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver softwareElton Minetto
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu códigoAna Claudia Nogueira
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador PragmáticoTadeu Marinho
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoFlávio Lisboa
 
Altair Sossai - A Importância de Testes Unitários nas Aplicações
Altair Sossai - A Importância de Testes Unitários nas AplicaçõesAltair Sossai - A Importância de Testes Unitários nas Aplicações
Altair Sossai - A Importância de Testes Unitários nas Aplicaçõesmichel adriano medeiros
 

Mais procurados (20)

jCompany X Geradores de Códigos
jCompany X Geradores de CódigosjCompany X Geradores de Códigos
jCompany X Geradores de Códigos
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
TDC 2015 - Torne-se um programador melhor
TDC 2015 - Torne-se um  programador melhorTDC 2015 - Torne-se um  programador melhor
TDC 2015 - Torne-se um programador melhor
 
Código limpo: Comentários
Código limpo:   ComentáriosCódigo limpo:   Comentários
Código limpo: Comentários
 
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
TDC2016POA | Trilha PHP - Quero ser desenvolvedor PHP. Como me preparar para ...
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver software
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
O programador pragmático
O programador pragmáticoO programador pragmático
O programador pragmático
 
TDD
TDDTDD
TDD
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador Pragmático
 
Mantendo o código saudável
Mantendo o código saudávelMantendo o código saudável
Mantendo o código saudável
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
Altair Sossai - A Importância de Testes Unitários nas Aplicações
Altair Sossai - A Importância de Testes Unitários nas AplicaçõesAltair Sossai - A Importância de Testes Unitários nas Aplicações
Altair Sossai - A Importância de Testes Unitários nas Aplicações
 
Programação Orientada a Gambiarra
Programação Orientada a GambiarraProgramação Orientada a Gambiarra
Programação Orientada a Gambiarra
 

Semelhante a Clean Code na prática

Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Gabriel Rubens
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisRogerio Fontes
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
 
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Gilmar PSL
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SThoughtworks
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando dias
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?Isaac de Souza
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Padrões Web & Code Standard
Padrões Web & Code StandardPadrões Web & Code Standard
Padrões Web & Code StandardToni Albuquerque
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Yasser Veleda
 

Semelhante a Clean Code na prática (20)

Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Codigo limpo.pptx
Codigo limpo.pptxCodigo limpo.pptx
Codigo limpo.pptx
 
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everis
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
 
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
Projeto de API - TDC 2014 - Floripa - Trilha Arquitetura - 18/05/2014
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.S
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Code Review
Code ReviewCode Review
Code Review
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Código limpo php
Código limpo phpCódigo limpo php
Código limpo php
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Over engineering
Over engineeringOver engineering
Over engineering
 
Clean code
Clean codeClean code
Clean code
 
Padrões Web & Code Standard
Padrões Web & Code StandardPadrões Web & Code Standard
Padrões Web & Code Standard
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
 

Clean Code na prática

  • 1. Clean code Tudo que você precisa saber antes de começar a codar!
  • 2. ● Desenvolvedora front-end na @Loggi ; ● Formada em Design Gráfico ; ● Focada em realizar eventos que tragam mais mulheres para o mundo da programação ; Evelise V. Dib
  • 3. Origem Uncle Bob ou Robert Cecil Martin foi o autor do livro Clean Code que aborda temas de boas práticas e cultura no mercado de desenvolvimento de software.
  • 4. Conceito 01 02 03 Aceitável em qualquer linguagem Fácil manutenção Utilizado no mercado por grandes empresas 04 Mais produtivo
  • 5. “My code is working well, and my client is happy. Why should I care?”
  • 6. Quem já teve dificuldade de entender um código escrito por terceiros?
  • 7. O Clean Code visa criar códigos de forma simples a fim de facilitar a escrita e leitura. Podemos dizer que é um guia do mochileiro das galáxias do programador moderno. A ideia está ligada diretamente com a produtividade e empenho de um programador. Por que devemos usar?
  • 8. Keep it Simple Stupid - Meu código pode ser escrito de forma mais simples? Don’t Repeat Yourself - Cada pedaço de código deve ser único. You Aren’t Gonna Need It - Não desenvolva algo que será desnecessário. Muito revisitado quando um código é refatorado. Princípios KISS DRY YAGNI
  • 9. Composição sobre herança - Mais focado em linguagens orientadas a objeto. Projete os tipos para o que eles fazem sobre o que são. Por favor, legibilidade - Não é porque uma máquina consegue entender seu código que um ser humano também consegue. Consistência - Mantenha um padrão ao longo do projeto todo. Caso seja necessário alterar, deixe um comentário explicando. Princípios Composition over Inheritance Favor Readability Practice Consistency
  • 10. Saindo da teoria e entrando no código
  • 11. Variáveis Nomes de variáveis precisam ter significado e fácil pronuncia.
  • 12. Variáveis Use nomes pesquisáveis. Caso não damos um “significado” para aquele número, machucamos nossos leitores
  • 13. Contexto Remova contextos desnecessários e repetidos. Não é necessário repetir o nome da variável.
  • 14. Responsabilidades Funções devem ter apenas uma responsabilidade SOLID
  • 15. Argumentos Evite usar mais de dois argumentos em funções Na hora de testar, fica bem mais fácil e acessível
  • 16. Flags Se o seu código necessita de uma flag, significa que você está fazendo mais do que deveria em uma função
  • 17. Testes Evite colocar mais de uma condição por teste! (um “it” para cada “assert”)
  • 18. Nomes são importantes! Seja preciso; Comente apenas se for realmente necessário. Um bom código é autoexplicativo; Se possível, não repita código; Um código limpo é mais fácil de ser testado, seja unitário ou integração; Dicas Nomes Comentários DRY Teste
  • 19. Conceitos passo a passo Ordenação 02 Sistematizar 03 Limpeza 04 Padronização 01
  • 20. Bora botar em prática?
  • 21. Não disse que seria fácil Clean Code Me
  • 22. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik. THANKS! Alguma dúvida? evelisevazquez@gmail.com @evelisevazquez linkedin.com/evelisevazquez Please keep this slide for attribution.
  • 23. ReferÊncias ● Carbon - Prints de Código ● Clean Code em Javascript ● Clean Code em Python ● Clean code em Typescript ● Como escrever clean code ● Princípios do Clean Code