SlideShare uma empresa Scribd logo
1 de 20
Community
Webcast
CÓDIGO LIMPO:
UMA ABORDAGEM
INTRODUTÓRIA E
PRÁTICA DE COMO
LIMPAR CÓDIGOS
Um pouco de mim…

QUEM SOU
YAN DE LIMA JUSTINO. interessado por adoção de boas
práticas de Arquitetura e engenharia de desenvolvimento.

O QUE FAÇO
Desenvolvedor Sênior na Tec-Soft Informática; responsável por pesquisas
e implementação de melhores práticas de desenvolvimento de software;
palestrante em eventos técnicos.
HÁ DUAS RAZÕES PELAS QUAIS
VOCÊ ESTÁ ASSISTINDO ESTE
WEBCAST:
“Você é um programador e deseja se tornar
um ainda melhor. Ótimo. Precisamos de
programadores melhores” Rober C. Martin
“Qualquer um pode escrever código
que um computador possa entender.
Bons programadores escrevem código
que humanos podem entender” Martin Fowler
O QUE É CÓDIGO LIMPO?

             Escrito por Robert C.
             Martin, O livro apresenta
             técnicas de como escrever
             códigos limpos, advindas
             de anos de experiências.
             Representa uma escola de
             pensamento sobre código
Custo de ter um código confuso
              Produtividade X Tempo
120

100

80

60
                                          Série 1
40

20

 0
      1   2          3         4      5
“Não basta escrever um código bom. Ele
Precisa ser mantido sempre limpo”.

Regra dos escoteiros:
Deixe a área do acampamento mais
Limpa do que como você a encontrou”
BLAH
 BLAH
              BLAH
       BLAH

                     B
   BLAH       BLAH
Nomes Significativos
Nomes Significativos

•   Use Nomes que revelem seu propósito
•   Evite informações Erradas
•   Use Nomes Pronunciáveis
•   Passíveis de Busca
•   Evite a notação Húngara
•   Nomes de Classes
•   Nomes de Métodos
Mãos à obra
Funções

•   Faça Funções Pequenas
•   Quer Faça Apenas uma Coisa
•   Use Nomes Descritivos
•   Use no máximo três parâmetros em funções
•   Prefira exceções a retorno de código de erro
Mãos à obra
Comentários

• Explique-se No Código
• Use comentários para coisas relevantes: como
  alertas sobre consequências, Destaque, TODO
• Evite comentários redundantes
Mãos à obra
Classes

• Organização
  – Funções publicas abaixo após lista de variáveis e de
    propriedades
  – Tarefas privadas chamadas por uma função publica
    logo depois desta.
• Encapsulamento
  – As vezes é necessário tornar uma variável ou função
    como protected de modo que possa ser testada
• Classes pequenas
• Princípio da Responsabilidade única
Mãos à obra
POR TANTO,
“Um programador sem
sensibilidade ao código pode
visualizar um módulo
confuso e reconhecer a
bagunça, mas não saberá o
que fazer a respeito dela. Já
um com essa sensibilidade
verá alternativas”.
OBRIGADO

Mais conteúdo relacionado

Destaque

Si - Segurança da Informação
Si - Segurança da InformaçãoSi - Segurança da Informação
Si - Segurança da InformaçãoYan Justino
 
Vssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosVssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosYan Justino
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet CoreYan Justino
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOYan Justino
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gofYan Justino
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Yan Justino
 
Bounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasBounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasYan Justino
 
Atacando as complexidades no coração do software
Atacando as complexidades no coração do softwareAtacando as complexidades no coração do software
Atacando as complexidades no coração do softwareYan Justino
 

Destaque (9)

Si - Segurança da Informação
Si - Segurança da InformaçãoSi - Segurança da Informação
Si - Segurança da Informação
 
Vssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativosVssummit 2016 - DDD em cenários corporativos
Vssummit 2016 - DDD em cenários corporativos
 
Angular
AngularAngular
Angular
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet Core
 
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDOARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
ARQUITETURAS PERFEITAS E O PORQUÊ SEU PROJETO NASCEU FALIDO
 
Padroes de projetos gof
Padroes de projetos gofPadroes de projetos gof
Padroes de projetos gof
 
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
Pense fora da caixa: Aplique Agilidade com Domain Driven Design. Você ainda u...
 
Bounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadasBounded Context e CQRS na evolução de aplicações .NET legadas
Bounded Context e CQRS na evolução de aplicações .NET legadas
 
Atacando as complexidades no coração do software
Atacando as complexidades no coração do softwareAtacando as complexidades no coração do software
Atacando as complexidades no coração do software
 

Semelhante a Clean Code Webcast

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
 
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
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheirasHigor César
 
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
 
Clean code 101 do caos ao nirvana em poucos passos
Clean code 101  do caos ao nirvana em poucos passosClean code 101  do caos ao nirvana em poucos passos
Clean code 101 do caos ao nirvana em poucos passosGabrielly Gomes
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 
Princípios Básicos para Desenvolvedores
Princípios Básicos para DesenvolvedoresPrincípios Básicos para Desenvolvedores
Princípios Básicos para Desenvolvedoresguitoper
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisRogerio Fontes
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atechcesarcneto
 
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Pedro Edson Silva Barros
 
Domain Driven Design com Python
Domain Driven Design com PythonDomain Driven Design com Python
Domain Driven Design com PythonFrederico Cabral
 

Semelhante a Clean Code Webcast (20)

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 - 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 Coder
Clean CoderClean Coder
Clean Coder
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheiras
 
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...
 
Clean code 101 do caos ao nirvana em poucos passos
Clean code 101  do caos ao nirvana em poucos passosClean code 101  do caos ao nirvana em poucos passos
Clean code 101 do caos ao nirvana em poucos passos
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 
Clean code clickbus
Clean code   clickbusClean code   clickbus
Clean code clickbus
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
Clean code
Clean codeClean code
Clean code
 
Clean code
Clean codeClean code
Clean code
 
TDD com Clean Code: Chega de amadorismo!
TDD com Clean Code: Chega de amadorismo!TDD com Clean Code: Chega de amadorismo!
TDD com Clean Code: Chega de amadorismo!
 
Clean Code na prática
Clean Code na práticaClean Code na prática
Clean Code na prática
 
Princípios Básicos para Desenvolvedores
Princípios Básicos para DesenvolvedoresPrincípios Básicos para Desenvolvedores
Princípios Básicos para Desenvolvedores
 
Clean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everis
 
Potencializando a qualidade de código
Potencializando a qualidade de códigoPotencializando a qualidade de código
Potencializando a qualidade de código
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
 
Domain Driven Design com Python
Domain Driven Design com PythonDomain Driven Design com Python
Domain Driven Design com Python
 

Mais de Yan Justino

TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...
TDC Future - comunidade XP -  Abraçando a variedade de padrões de arquitetura...TDC Future - comunidade XP -  Abraçando a variedade de padrões de arquitetura...
TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...Yan Justino
 
Criando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesCriando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesYan Justino
 
LIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETLIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETYan Justino
 
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Yan Justino
 
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...Yan Justino
 
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Yan Justino
 
Modernizando plataformas eGovernment: migração do sistema Uvt
Modernizando plataformas eGovernment: migração do sistema UvtModernizando plataformas eGovernment: migração do sistema Uvt
Modernizando plataformas eGovernment: migração do sistema UvtYan Justino
 
Modernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoModernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoYan Justino
 
DocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoDocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoYan Justino
 
Fundamentos ORM com entityframework
Fundamentos ORM com entityframeworkFundamentos ORM com entityframework
Fundamentos ORM com entityframeworkYan Justino
 

Mais de Yan Justino (10)

TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...
TDC Future - comunidade XP -  Abraçando a variedade de padrões de arquitetura...TDC Future - comunidade XP -  Abraçando a variedade de padrões de arquitetura...
TDC Future - comunidade XP - Abraçando a variedade de padrões de arquitetura...
 
Criando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted ServicesCriando multi-agent systems com .net Hosted Services
Criando multi-agent systems com .net Hosted Services
 
LIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NETLIVE: BDD, GWTDO e Specification Matching no .NET
LIVE: BDD, GWTDO e Specification Matching no .NET
 
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
Evitando o declínio arquitetural de suas aplicações na velocidade de desenvol...
 
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
Modernizando sistemas e-Gov legados: um relato sobre adoção de microservices ...
 
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
Palestra TDC POA 2018 - Reengenharia de aplicações asp.net legadas para arqui...
 
Modernizando plataformas eGovernment: migração do sistema Uvt
Modernizando plataformas eGovernment: migração do sistema UvtModernizando plataformas eGovernment: migração do sistema Uvt
Modernizando plataformas eGovernment: migração do sistema Uvt
 
Modernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoModernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e Método
 
DocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicaçãoDocumentDb: escalando sua aplicação
DocumentDb: escalando sua aplicação
 
Fundamentos ORM com entityframework
Fundamentos ORM com entityframeworkFundamentos ORM com entityframework
Fundamentos ORM com entityframework
 

Último

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 

Último (20)

Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 

Clean Code Webcast

  • 2. Um pouco de mim… QUEM SOU YAN DE LIMA JUSTINO. interessado por adoção de boas práticas de Arquitetura e engenharia de desenvolvimento. O QUE FAÇO Desenvolvedor Sênior na Tec-Soft Informática; responsável por pesquisas e implementação de melhores práticas de desenvolvimento de software; palestrante em eventos técnicos.
  • 3.
  • 4. HÁ DUAS RAZÕES PELAS QUAIS VOCÊ ESTÁ ASSISTINDO ESTE WEBCAST: “Você é um programador e deseja se tornar um ainda melhor. Ótimo. Precisamos de programadores melhores” Rober C. Martin
  • 5. “Qualquer um pode escrever código que um computador possa entender. Bons programadores escrevem código que humanos podem entender” Martin Fowler
  • 6. O QUE É CÓDIGO LIMPO? Escrito por Robert C. Martin, O livro apresenta técnicas de como escrever códigos limpos, advindas de anos de experiências. Representa uma escola de pensamento sobre código
  • 7. Custo de ter um código confuso Produtividade X Tempo 120 100 80 60 Série 1 40 20 0 1 2 3 4 5
  • 8. “Não basta escrever um código bom. Ele Precisa ser mantido sempre limpo”. Regra dos escoteiros: Deixe a área do acampamento mais Limpa do que como você a encontrou”
  • 9. BLAH BLAH BLAH BLAH B BLAH BLAH
  • 11. Nomes Significativos • Use Nomes que revelem seu propósito • Evite informações Erradas • Use Nomes Pronunciáveis • Passíveis de Busca • Evite a notação Húngara • Nomes de Classes • Nomes de Métodos
  • 13. Funções • Faça Funções Pequenas • Quer Faça Apenas uma Coisa • Use Nomes Descritivos • Use no máximo três parâmetros em funções • Prefira exceções a retorno de código de erro
  • 15. Comentários • Explique-se No Código • Use comentários para coisas relevantes: como alertas sobre consequências, Destaque, TODO • Evite comentários redundantes
  • 17. Classes • Organização – Funções publicas abaixo após lista de variáveis e de propriedades – Tarefas privadas chamadas por uma função publica logo depois desta. • Encapsulamento – As vezes é necessário tornar uma variável ou função como protected de modo que possa ser testada • Classes pequenas • Princípio da Responsabilidade única
  • 19. POR TANTO, “Um programador sem sensibilidade ao código pode visualizar um módulo confuso e reconhecer a bagunça, mas não saberá o que fazer a respeito dela. Já um com essa sensibilidade verá alternativas”.