SlideShare uma empresa Scribd logo
1 de 23
23ª Reunião Presencial - 24/09/2011   http://netponto.org




                                  The Clean Coder
                                            João Manso
Patrocinadores desta reunião
Patrocinadores desta reunião
João Manso

• Licenciado pelo Instituto Superior Engenharia de Lisboa
  (Isel)
• 7 anos no mercado de trabalho
• JavaScript, jQuery, Html, Asp.Net, C#, WCF, SQL,
  NHibernate, etc.
The Clean Coder




Robert C. Martin (Uncle Bob); Programador desde 1970; Fundador e
Presidente Object Mentor Inc.
Livros:
Designing Object-Oriented C++ Applications using the Booch Method. Prentice-Hall.
1995. ISBN 0-13-203837-4.
Agile Software Development: Principles, Patterns and Practices. Pearson Education.
2002. ISBN 0-13-597444-5.
Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall PTR. 2008. ISBN 0-13-
235088-2.
Objectivo
Agenda
•   Profissionalismo
•   Ética
•   Quando se deve dizer “sim” e “não”
•   Código
•   Gerir o tempo
Profissionalismo
•?
• Responsabilidade
• Não somos perfeitos
  – Responsáveis das nossas imperfeições
  – A primeira coisa que devemos treinar é pedir
    desculpas
• Quality Assurance (QA) não devem
  encontrar erros
Ética
• A carreira é da vossa responsabilidade
• Devem conhecer o mundo que rodeia
• Lista mínima
• Praticar (Kata, Poomse)
• Colaborar (Collaborating)
• Ensinar (Mentoring)
Ética - Lista mínima
• Design Patterns (24 patterns do livro GOF)
• Design Principles (S.O.L.I.D.)
• Métodos(XP, Scrum, Lean, Kaban)
• Disciplinas(TDD, Object-Oriented design,
  Continuous Integration, Pair Programming)
• Artefactos (UML, Decision Tables, State
  Transiction Diagrams)
A Reading Guide To Becoming A Better Developer
http://davybrion.com/blog/2009/11/a-reading-guide-to-becoming-a-better-developer/
Ética
• Devem planear trabalhar 60 horas por
  semana.
• 40 para a entidade patronal
• 20 para vocês (ler, praticar e aprender)
• E a minha família?
• Não se deve levar trabalho para casa. E se for
  benéfico?
Ética
• Estratégia para atingir o
  burnout/overflow ?


As 20 horas devem ser divertidas!!!
Quando se deve dizer “sim” e “não”

• Quando se deve dizer que “não”
• Quando se deve dizer que “sim”
• A importância do “sim”

   Nunca responder: Vou tentar!
                    Em príncipio consigo!
Código
• Concentração e Focus
     • Focus-Mana (Dormir, cafeína, recarregar,
       músculo-focus)
• Flow Zone / The Wave
• Código feito às 3 da manhã
• Código preocupado
• Música
Código
• Interrupções
• Debbug
   –Tempo de desenvolvimento
   –TDD
• WC / Chuveiro
• Overtime
• Definir “Done” / “Já Está”
Gerir o tempo
• Reuniões / Recursar / Sair
• Agile (reuniões Stand-Up)
  –O que fiz ontem.
  –O que fiz hoje.
  –O que me está a impedir.
• Tomatoes (Pomodoro Techique)
• ManicTime
Referências
Pomodoro Techique
   – http://www.pomodorotechnique.com/

ManicTime
   – http://www.manictime.com/
Questões?
Patrocinadores desta reunião
Patrocinadores desta reunião
Próximas reuniões presenciais
• 24/09/2011 – Setembro (2 anos!)
• 29/10/2011 – Outubro
• 19/11/2011 – Outubro (Coimbra)
• 26/11/2011 – Novembro
  Reserva estes dias na agenda! :)
Obrigado!
João Manso
jnmanso@gmail.com
joao.manso@agilior.pt
http://joao.manso.eu/
http://pt.linkedin.com/in/jnmanso
http://twitter.com/jnmanso

Mais conteúdo relacionado

Destaque

Encante se
Encante seEncante se
Encante se
JNR
 
Rubini studio inquadratura e piani
Rubini studio inquadratura e pianiRubini studio inquadratura e piani
Rubini studio inquadratura e piani
matzru69
 
Encuestas poblacion escogida
Encuestas poblacion escogidaEncuestas poblacion escogida
Encuestas poblacion escogida
Yeins mendez
 
Carlos artur gallo dissertação ppgpol 2012
Carlos artur gallo   dissertação ppgpol 2012Carlos artur gallo   dissertação ppgpol 2012
Carlos artur gallo dissertação ppgpol 2012
Priscila Rodrigues
 
Atritos
AtritosAtritos
Atritos
JNR
 
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do LeiteCarlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
Fundação de Economia e Estatística
 
Enfrentar la crisis financiera para evitar el efecto en alimentacion y salud
Enfrentar la crisis financiera para evitar el efecto en alimentacion y saludEnfrentar la crisis financiera para evitar el efecto en alimentacion y salud
Enfrentar la crisis financiera para evitar el efecto en alimentacion y salud
Anibal Velasquez
 
Pres 5 te..23
Pres 5 te..23Pres 5 te..23
Pres 5 te..23
sergio
 
Contaminacion del medio ambiente power point
Contaminacion del medio ambiente power pointContaminacion del medio ambiente power point
Contaminacion del medio ambiente power point
natalia vildoso
 

Destaque (20)

7 sesion
7 sesion7 sesion
7 sesion
 
Avaliação-Atendimento A Escola Dez De Dezembro Tematica
Avaliação-Atendimento A Escola Dez De Dezembro Tematica Avaliação-Atendimento A Escola Dez De Dezembro Tematica
Avaliação-Atendimento A Escola Dez De Dezembro Tematica
 
Soft Inn Plus Rio Business Hotel • Lancamento Imobiliário • Vendas
Soft Inn Plus Rio Business Hotel • Lancamento Imobiliário • VendasSoft Inn Plus Rio Business Hotel • Lancamento Imobiliário • Vendas
Soft Inn Plus Rio Business Hotel • Lancamento Imobiliário • Vendas
 
Tendências de Consumo
Tendências de ConsumoTendências de Consumo
Tendências de Consumo
 
Encante se
Encante seEncante se
Encante se
 
Dica como investir num negócio lucrativo
Dica   como investir num negócio lucrativo Dica   como investir num negócio lucrativo
Dica como investir num negócio lucrativo
 
Rubini studio inquadratura e piani
Rubini studio inquadratura e pianiRubini studio inquadratura e piani
Rubini studio inquadratura e piani
 
Nexus Hotel & Residences
Nexus Hotel & ResidencesNexus Hotel & Residences
Nexus Hotel & Residences
 
Div share diapos
Div share diaposDiv share diapos
Div share diapos
 
Encuestas poblacion escogida
Encuestas poblacion escogidaEncuestas poblacion escogida
Encuestas poblacion escogida
 
Esporte e Escola
Esporte e EscolaEsporte e Escola
Esporte e Escola
 
Consortium for research and innovation in aerospace in Quebec, Canada – a ref...
Consortium for research and innovation in aerospace in Quebec, Canada – a ref...Consortium for research and innovation in aerospace in Quebec, Canada – a ref...
Consortium for research and innovation in aerospace in Quebec, Canada – a ref...
 
Carlos artur gallo dissertação ppgpol 2012
Carlos artur gallo   dissertação ppgpol 2012Carlos artur gallo   dissertação ppgpol 2012
Carlos artur gallo dissertação ppgpol 2012
 
Atritos
AtritosAtritos
Atritos
 
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do LeiteCarlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
Carlos Paiva & Marília Ramos - Análise dos Questionarios na Cadeia do Leite
 
Enfrentar la crisis financiera para evitar el efecto en alimentacion y salud
Enfrentar la crisis financiera para evitar el efecto en alimentacion y saludEnfrentar la crisis financiera para evitar el efecto en alimentacion y salud
Enfrentar la crisis financiera para evitar el efecto en alimentacion y salud
 
Stj hc anulação júri
Stj hc anulação júriStj hc anulação júri
Stj hc anulação júri
 
Pres 5 te..23
Pres 5 te..23Pres 5 te..23
Pres 5 te..23
 
Contaminacion del medio ambiente power point
Contaminacion del medio ambiente power pointContaminacion del medio ambiente power point
Contaminacion del medio ambiente power point
 
Labellezaazul
LabellezaazulLabellezaazul
Labellezaazul
 

Semelhante a Clean Coder

1- Design Sprint, para apresentaçõe se estudos sobre marketing
1- Design Sprint, para apresentaçõe se estudos sobre marketing1- Design Sprint, para apresentaçõe se estudos sobre marketing
1- Design Sprint, para apresentaçõe se estudos sobre marketing
Eduardo Mendes Alves
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Neubio Ferreira
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
Achiles Camilo
 

Semelhante a Clean Coder (20)

1- Design Sprint, para apresentaçõe se estudos sobre marketing
1- Design Sprint, para apresentaçõe se estudos sobre marketing1- Design Sprint, para apresentaçõe se estudos sobre marketing
1- Design Sprint, para apresentaçõe se estudos sobre marketing
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 
Onboarding e cultura seo [Search Lab - Expo digitalks 2018]
Onboarding e cultura seo [Search Lab - Expo digitalks 2018]Onboarding e cultura seo [Search Lab - Expo digitalks 2018]
Onboarding e cultura seo [Search Lab - Expo digitalks 2018]
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
Curso de Pós-Graduação FUCAPI - Módulo: Métodos Ágeis
Curso de Pós-Graduação FUCAPI - Módulo: Métodos ÁgeisCurso de Pós-Graduação FUCAPI - Módulo: Métodos Ágeis
Curso de Pós-Graduação FUCAPI - Módulo: Métodos Ágeis
 
Palestra scrum
Palestra scrumPalestra scrum
Palestra scrum
 
Nós precisamos de um PO!
Nós precisamos de um PO!Nós precisamos de um PO!
Nós precisamos de um PO!
 
PALESTRA - Inovação em Gerenciamento de Projetos - Eduardo Freire
PALESTRA - Inovação em Gerenciamento de Projetos - Eduardo FreirePALESTRA - Inovação em Gerenciamento de Projetos - Eduardo Freire
PALESTRA - Inovação em Gerenciamento de Projetos - Eduardo Freire
 
Coding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente OrganizacionalCoding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente Organizacional
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
 
Treinamento - Scrum.pptx
Treinamento - Scrum.pptxTreinamento - Scrum.pptx
Treinamento - Scrum.pptx
 
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
 
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanMinicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
 
Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16Engenharia de Software - Unimep/Pronatec - Aula 16
Engenharia de Software - Unimep/Pronatec - Aula 16
 
Gerenciamento de Projetos Web - Desafios
Gerenciamento de Projetos Web - DesafiosGerenciamento de Projetos Web - Desafios
Gerenciamento de Projetos Web - Desafios
 

Mais de Comunidade NetPonto

Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Comunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Comunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
Comunidade NetPonto
 

Mais de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 

Clean Coder