SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Código limpo: Boas práticas e
sua importância no
desenvolvimento de software.
Pedro Barros
- Desenvolvedor em Unimed Maceió;
- Formado Técnico em Informática;
- Graduado em Análise e Desenvolvimento de
Sistemas;
- Pós-graduado em Engenharia de Software;
- Pós-graduando em MBA Gestão de projetos;
- Experiência em desenvolvimento de softwares
e tutoria para desenvolvimento web/mobile.
Pedro Barros Redes sociais
pedroebarros
ped.barros
pedbarros
pedbarros
por Robert C. Martin
Quais são as razões de
você está assistindo
essa palestra?
1 - Você é estudante/programador;
2 - Quer ser um
estudante/profissional melhor.
Frase 01
"Qualquer um consegue escrever código que um
computador entende.
Bons programadores escrevem código que
humanos entendem"
- Martin Flower
Referência: https://citas.in/autores/robert-cecil-martin/?page=10
Frase 02
"Escrever código limpo é o que você deve fazer
para se chamar de profissional. Não há desculpa
razoável para fazer qualquer coisa menos que o
seu melhor."
- Robert C. Martin
Referência: https://citas.in/autores/robert-cecil-martin/?page=10
Mas, antes… O que é
código sujo?
• Inflexível;
• Frágil;
• Inseparável;
• Obscuro.
O que é código limpo
(clean code)?
• Eficiente;
• Simples;
• Direto ao ponto;
• Mínimas dependências;
• Sem duplicação;
• Fácil manutenção;
• Padrões definidos;
• Fácil leitura e
entendimento;
• Coberto de testes.
https://image.slidesharecdn.com/measuringmaintainability-150
812082324-lva1-app6892/95/measuring-maintainability-software-metric
s-explained-9-638.jpg?cb=1439367979
Qual porta
representa o
código que você
escreve?
O que vale é
funcionar!!
Nomes significativos
Nomes significativos
Martin mostra que os nomes revelam seu propósito, e
escolher bons nomes traz grandes resultados, para quem
escreve e aqueles que irão ler o seu código.
Nomeie expressando
exatamente às
características da variável
Nomes significativos
Nomes significativos (Classes)
• Substantivos (Pessoa, Endereço, Agenda, Conta);
• Evitar palavras como Gerente, Processador, Dados;
• Não deve ser verbo.
Nomes significativos (Métodos)
• Devem ser verbos (Ex: salvarPagamento,
excluirPagina, atualizarEndereco);
• Evitar nomes engraçados que significam alguma
piada;
Use nomes
encontráveis
Use nomes encontráveis
Funções
Funções
• Menor é melhor que maior;
• Criar funções pequenas e específicas;
• Lembrar dos nomes significativos (sem ter medos de nomes
extensos);
• Fazer somente uma coisa (SOLID [SRP]);
• Não faça o DRY (Don't repeat yourself)
LIMITAR O TAMANHO MÁXIMO DE
LINHAS DE UMA FUNÇÃO
Funções
● Muitos argumentos = code smell
● Sem parâmetros é melhor, 1 é bom, 2 ruim, 3 é
demais;
● Argumentos booleanos, em geral, não são bons;
● Não utilizar “null”, tanto como parâmetro,
quanto para retorno das funções.
Funções
Formatação
Escolher uma série de
regras simples de
formatação com a equipe
Endentação
Comentários
Código feio precisa de
comentário?
Comentário não é “maquiagem” de código.
Se o código está feio, refatora/ajusta
Comentários
● Em geral, servem para explicar um código
ruim;
● Um bom código é auto documentado;
Comentários
Comentários
Comentários aceitos
Comentários aceitos
● Para amplificar algo que parece ser inofensivo;
● Para explicar que aquele trecho de código já passou por
várias tentativas até chegar à atual;
● Explicar o motivo pelo qual foi feito aquele código.
Comentários ruins
Comentários ruins
● Por falta do que escrever;
● Redundantes;
● Dizendo algo que o próprio código deveria dizer;
● Código comentado.
Não deixe juntar problemas
Códigos sujos te deixam preso
“Deixe o código mais limpo do que estava antes de você mexer
nele.”
Regra de Escoteiro
Referências
● MARTIN, Robert Cecil. Código Limpo. Dinamarca: Elsevier/alta Books, 2009. 440 p.
● FLOWER, Martin. TestPyramid. Disponível em: <https://martinfowler.com/bliki/TestPyramid.html>. Acesso em: 02
nov. 2018.
● FLOWER, Martin. Patterns of Enterprise Architecture. [S.l.]: Bookman, 2002. 481 p.
● PRESSMAN, Roger. Engenharia de Software. Uma abordagem profissional. New York: AMGH, 2011.
● MYERS, Glenford J. The Art of Software Testing. [S.l.]: Wiley, 1979. 240 p.
● RIOS, Emerson. Análise de Riscos em Projetos de Teste de Software, Editora Alta books, 2005.
● GUERRA, Eduardo. Design Patterns com Java: Projeto orientado a objetos guiado por padrões. [S.l.]: Casa do Código,
2014. 333 p.
● KOSCIANSKI, André; SOARES, Michel dos Santos. Qualidade de Software Aprenda as metodologias e técnicas mais
modernas para o desenvolvimento de software. 2. ed. Brasil: Novatec, 2007.
● MACHADO, Cristina ngela Filipak et al. Introdução à Engenharia de Software e à Qualidade de Software. Lavras-MG:
UFLA/FAEPE, 2006.

Mais conteúdo relacionado

Semelhante a Código limpo: Boas práticas e sua importância no desenvolvimento de software.

Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisRogerio Fontes
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador PragmáticoTadeu Marinho
 
Clean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoClean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoPaulo Henrique da Silva
 
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
 
Escreva Código para Pessoas Além de Máquinas
Escreva Código para Pessoas Além de MáquinasEscreva Código para Pessoas Além de Máquinas
Escreva Código para Pessoas Além de MáquinasThalita Pinheiro
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Yasser Veleda
 
Escreva código para pessoas além de máquinas
Escreva código para pessoas além de máquinasEscreva código para pessoas além de máquinas
Escreva código para pessoas além de máquinasEdlaine Zamora
 
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinas
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinasTDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinas
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinastdc-globalcode
 
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
 
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
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 
Clean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoClean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoTiago Bencardino
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
 
Community webcast
Community webcastCommunity webcast
Community webcastYan Justino
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Softwareguest2f8cba
 

Semelhante a Código limpo: Boas práticas e sua importância no desenvolvimento de software. (20)

Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everis
 
O Programador Pragmático
O Programador PragmáticoO Programador Pragmático
O Programador Pragmático
 
Clean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimentoClean Code - Boas práticas para desenvolvimento
Clean Code - Boas práticas para desenvolvimento
 
Clean code
Clean codeClean code
Clean code
 
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
 
Clean Code
Clean CodeClean Code
Clean Code
 
Escreva Código para Pessoas Além de Máquinas
Escreva Código para Pessoas Além de MáquinasEscreva Código para Pessoas Além de Máquinas
Escreva Código para Pessoas Além de Máquinas
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
 
Escreva código para pessoas além de máquinas
Escreva código para pessoas além de máquinasEscreva código para pessoas além de máquinas
Escreva código para pessoas além de máquinas
 
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinas
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinasTDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinas
TDC2018FLN | Trilha Java - Escrevendo código para pessoas além de máquinas
 
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
 
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
 
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
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 
Clean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpoClean code - Mantenha seu código limpo
Clean code - Mantenha seu código limpo
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Community webcast
Community webcastCommunity webcast
Community webcast
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Software
 

Código limpo: Boas práticas e sua importância no desenvolvimento de software.