SlideShare uma empresa Scribd logo
1 de 23
BOM DIA GALERA!!!
CÓDIGO
LIMPO
        POUPANDO RECURSOS
        IMPORTANTES DEVIDO A
        UM CÓDIGO MAL ESCRITO!




               @yanjustino
HÁ DUAS RAZÕES PELAS QUAIS
VOCÊ ESTÁ ASSISTINDO ESTA
PALESTRA:
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
                    Série 1



  100


        80


                    60




                               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
OUTRAS ABORDAGENS:
GESTALT



O QUE VOCÊ ESTÁ VENDO?
O olho humano
percebe um objeto
como um inteiro
antes de perceber
suas partes
individuais
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
FUNÇÕES
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
COMENTÁRIOS
COMENTÁRIOS
• Explique-se No Código
• Use comentários para coisas relevantes: como
  alertas sobre consequências, Destaque, TODO
• Evite comentários redundantes
CLASSES
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
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

GDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolGDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolYan Justino
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby MorningYan 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 (10)

GDG NATAL - Dart Flight School
GDG NATAL - Dart Flight SchoolGDG NATAL - Dart Flight School
GDG NATAL - Dart Flight School
 
Angular - Ruby Morning
Angular - Ruby MorningAngular - Ruby Morning
Angular - Ruby Morning
 
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 Apresentação

Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 
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
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoAécio Costa
 
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 linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolLorranna Machado
 
TRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLTRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLEllen Diana
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolAlexByDoomS
 
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
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Yasser Veleda
 
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 @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisRogerio Fontes
 

Semelhante a Apresentação (20)

Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 
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
 
Mantendo o código saudável
Mantendo o código saudávelMantendo o código saudável
Mantendo o código saudável
 
Clean code
Clean codeClean code
Clean code
 
Clean code
Clean codeClean code
Clean code
 
Clean Coder
Clean CoderClean Coder
Clean Coder
 
Clean Code na prática
Clean Code na práticaClean Code na prática
Clean Code na prática
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programação
 
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 linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
TRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOLTRABALHO PARADIGMAS - COBOL
TRABALHO PARADIGMAS - COBOL
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
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
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
 
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
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 
Clean code
Clean codeClean code
Clean code
 
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 @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everisClean code @rogeriofontes-techfriday-everis
Clean code @rogeriofontes-techfriday-everis
 

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

aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfLidianeLill2
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasrfmbrandao
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfFbioFerreira207918
 

Último (20)

aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdfRepública Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
República Velha (República da Espada e Oligárquica)-Sala de Aula.pdf
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 

Apresentação

  • 2. CÓDIGO LIMPO POUPANDO RECURSOS IMPORTANTES DEVIDO A UM CÓDIGO MAL ESCRITO! @yanjustino
  • 3.
  • 4. HÁ DUAS RAZÕES PELAS QUAIS VOCÊ ESTÁ ASSISTINDO ESTA PALESTRA: 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 Série 1 100 80 60 20 0 1 2 3 4 5
  • 8. NÃO BASTA ESCREVER UM CÓDIGO BOM. Ele Precisa ser mantido sempre limpo.
  • 9. REGRA DOS ESCOTEIROS: Deixe a área do acampamento mais Limpa do que como você a encontrou
  • 10. OUTRAS ABORDAGENS: GESTALT O QUE VOCÊ ESTÁ VENDO?
  • 11. O olho humano percebe um objeto como um inteiro antes de perceber suas partes individuais
  • 12.
  • 13. BLAH BLAH BLAH BLAH B BLAH BLAH
  • 15. 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
  • 17. 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
  • 19. COMENTÁRIOS • Explique-se No Código • Use comentários para coisas relevantes: como alertas sobre consequências, Destaque, TODO • Evite comentários redundantes
  • 21. 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
  • 22. 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”.