o que é ser um bom programador?

85
O que é SER UM PROGRAMADOR? lucas boeing scarduelli / @lucasscarduelli bom

Upload: lucas-boeing-scarduelli

Post on 14-Apr-2017

1.253 views

Category:

Software


1 download

TRANSCRIPT

Page 1: O que é ser um bom programador?

O que é SER UM PROGRAMADOR?

lucas boeing scarduelli / @lucasscarduelli

bom

Page 2: O que é ser um bom programador?

Arquiteto de softwarelíder setor de pesquisa e desenvolvimento (P&D)

Técnico em Informática industrial (#sqn)bacharel em sistemas de informação

pós graduado em gerenciamento de projetos

9 anos de experiência7 anos desenvolvendo software web

lucas boeing scarduelli

scarduelli.com@lucasscarduelli

Page 3: O que é ser um bom programador?

motivação

nós não precisamos de mais programadores, nós precisamos

de bons programadores. (edson yanaga)

Page 4: O que é ser um bom programador?

motivação

contrate o carácter. treine as habilidades.

(peter schutz)

Page 5: O que é ser um bom programador?

O que é um programador?

“profissional especializado no desenvolvimento e no aperfeiçoamento de programas de computador.”

Page 6: O que é ser um bom programador?

mas pode ser também…

“quem te resolve um problema que você não sabia que tinha de uma maneira que você não compreende “

Page 7: O que é ser um bom programador?

… ou também …

Page 8: O que é ser um bom programador?

… ou ainda!!! #melhordetodas

“e aquele cara que muitas vezes tem que encontrar a melhor e mais simples solução, para um problema de uma área que ele não conhece e de que ele não faz a

mínima ideia do porque acontece”

Page 9: O que é ser um bom programador?
Page 10: O que é ser um bom programador?

somos pagos para resolver problemas…

… muitos problemas, mais muitos mesmo, todos os dias e quase sempre pra ontem!! #napressao

Page 11: O que é ser um bom programador?

na real … ser programador não e fácil!

mais e massa pra caramba!!!

Page 12: O que é ser um bom programador?

porque você quer ser um programador?

Page 13: O que é ser um bom programador?

… porque eu gosto de internet e redes sociais!

Page 14: O que é ser um bom programador?

… porque eu gosto de jogar!

Page 15: O que é ser um bom programador?

… prefiro trabalhar sentado e no ar condicionado!

… quero fazer somente aquilo que eu gosto!

Page 16: O que é ser um bom programador?

… quero trabalhar igual o pessoal do google!

Page 17: O que é ser um bom programador?

… quero ser o orgulho da família!

Page 18: O que é ser um bom programador?

… é a profissão do futuro!

Page 19: O que é ser um bom programador?

… porque quero ter uma ideia genial e ficar rico rápido!

Page 20: O que é ser um bom programador?

então quando te perguntarem, o que você vai responder?

Page 21: O que é ser um bom programador?

se for algo diferente disso… :(

então quando te perguntarem, o que você vai responder?

Page 22: O que é ser um bom programador?

o que é ser um bom programador?

Uma escola ou faculdade vão me formar um bom programador?

Page 23: O que é ser um bom programador?

Eu preciso conhecer e dominar as melhores linguagens de programação?

Page 24: O que é ser um bom programador?

Eu preciso conhecer o melhor banco de dados?

Page 25: O que é ser um bom programador?

Eu preciso usar e conhecer a melhor ide ou ferramenta de desenvolvimento?

Page 26: O que é ser um bom programador?

Eu preciso conhecer e aplicar as melhores metodologias e práticas de desenvolvimento?

Page 27: O que é ser um bom programador?

Eu preciso ter uma super estação de trabalho?

Page 28: O que é ser um bom programador?

programação é coisa para nerd?

Page 29: O que é ser um bom programador?

quanto mais linhas de código, melhor programador eu

sou?

Page 30: O que é ser um bom programador?

Eu preciso digitar muito ou ser o mais rápido?

Page 31: O que é ser um bom programador?

tudo isso te ajuda, mas não é o principal!!!

Page 32: O que é ser um bom programador?

se nada disso é o principal, então o que eu realmente preciso?

Page 33: O que é ser um bom programador?

atitude

Page 34: O que é ser um bom programador?

atitude

não se acomodardar sempre o seu melhor

manter o focorealmente se importar com o que faz

Page 35: O que é ser um bom programador?

atitude

não se acomodardar sempre o seu melhor

realmente se importar com o que fazmanter o foco

SE DESENVOLVER E CRESCER

Page 36: O que é ser um bom programador?

atitude

não se acomodardar sempre o seu melhor

realmente se importar com o que fazmanter o foco

SE DESENVOLVER E CRESCER gerar resultados

Page 37: O que é ser um bom programador?

ser um bom programador é muito mais do que fazer um software funcionar

Page 38: O que é ser um bom programador?

é ter domínio da área que atua…

Page 39: O que é ser um bom programador?

é comprometimento com aquilo que faz…

Page 40: O que é ser um bom programador?

é gerar bons resultados…

Page 41: O que é ser um bom programador?

é buscar sempre a melhor solução…com a melhor qualidade…

com a melhor experiência… e com o melhor custo benefício!

Page 42: O que é ser um bom programador?

então, que dizer que eu vou levar a vida toda para ser um bom programador?

não, você é bom quando faz o seu melhor.

Page 43: O que é ser um bom programador?

tudo tem um começo!

Page 44: O que é ser um bom programador?

primeiro de tudo aprenda a pensar

lógica de programação

o difícil é resolver o problema

pergunte sobre tudo

código é a menor parte

Page 45: O que é ser um bom programador?

o resto entra no loop infinito que é a vida do programador

Page 46: O que é ser um bom programador?

Estudo

curso técnico

faculdadelivros

tutoriaisprojetos open source

Page 47: O que é ser um bom programador?

prática

estágio trabalho

aula

freelancer

open source

hobby

Page 48: O que é ser um bom programador?

aprendizadoabsorva o conhecimento

lide melhor com as pessoas

lide com os erros

lide com o fracasso

repita práticas de sucesso

Page 49: O que é ser um bom programador?

aperfeiçoamento

novas técnicas

novas linguagens

novos domínios

novas tecnologias

aplique o aprendizado

aprenda inglês

Page 50: O que é ser um bom programador?

o loop infinito!

while programador.estaVivo() {programador.estudar();programador.praticar();programador.cometerErros();programador.aprender();programador.corrigirErros();programador.evoluir();

}

Page 51: O que é ser um bom programador?

robert c. martin @unclebobmartin

Page 52: O que é ser um bom programador?

o que é um código limpo?

simples

direto

eficiente

sem duplicidade

elegante

feito com cuidadofácil manutenção

padronizado

poucas dependências

Page 53: O que é ser um bom programador?

o que é um código limpo?

Page 54: O que é ser um bom programador?

teoria da janela quebrada

Page 55: O que é ser um bom programador?

como se mede o quão limpo um código e?

Page 56: O que é ser um bom programador?

nomes significativos

nos escolhemos nomes para tudo E TEMOS QUE FAZER ISSO BEM FEITO, por isso eles devem nos dizer...

- por que existe- o que faz

- como e usado

Page 57: O que é ser um bom programador?

devem revelar sua intenção…

Page 58: O que é ser um bom programador?

devem revelar sua intenção…

Page 59: O que é ser um bom programador?

devem revelar sua intenção…

Page 60: O que é ser um bom programador?

devem revelar sua intenção…

Page 61: O que é ser um bom programador?

devem ser pronunciáveis…

Page 62: O que é ser um bom programador?

não seja genérico…

Page 63: O que é ser um bom programador?

não economize nas palavras!

evite a desinformação!

evite palavras que não são palavras

se preciso use varias palavras

evite palavras reservadas

o tipo não precisa estar no nome

evite trocadilhosevite palavras que não são palavras

use boas praticas

Page 64: O que é ser um bom programador?

classes e métodos

nomes de classes devem ser substantivos e não conter verbos

Veículo, Pessoa, Cliente, Fornecedor,

Estoque, ...

nomes de métodos devem conter verbos

calculaCusto(), lancaEstoque(),

geraNotaFiscal(), ...

Page 65: O que é ser um bom programador?

devem ser pequenos

“a primeira regra dos métodos e que eles devem ser

pequenos. a segunda e que devem ser menores ainda.”

(uncle bob)

classes menores são mais fáceis de ler e entender o que

estão fazendo.

classe = 200 a 500 linhasmétodos <= 20 linhas

linhas <= 100 caracteres

Page 66: O que é ser um bom programador?

métodos devem fazer uma coisa só e fazer certo!

o difícil e definir o que é uma coisa só.

tente extrair parte do código e dar um nome a ele.

Page 67: O que é ser um bom programador?

métodos devem fazer algo ou responder algo!

os dois juntos causa confusão.

Page 68: O que é ser um bom programador?

simplifique as estruturas de decisão, evite O hard codE E APROXIME-SE DA MARGEM

Page 69: O que é ser um bom programador?

simplifique as estruturas de decisão, evite O hard codE E APROXIME-SE DA MARGEM

Page 70: O que é ser um bom programador?

dry - don’t repeat yourself

evite duplicidade de código! reutilize seus métodos.

Page 71: O que é ser um bom programador?

srp - principio da responsabilidade única

uma classe deve ter uma, e somente uma razão para

mudar

Page 72: O que é ser um bom programador?

classes devem ser coesas

poucas variáveis

cada método deve manipular uma ou mais variáveis quanto mais variáveis um

método consegue manipular, mais coeso ele é

coesão e a co-dependencia entre métodos e variáveis

Page 73: O que é ser um bom programador?

comentários

podem ser mentirosos, mesmo sem intenção

comentários não escondem código ruim

comentário é sinal de necessidade de refatoração

nunca deixe um código comentado

Page 74: O que é ser um bom programador?

explique-se com código

Page 75: O que é ser um bom programador?

closing brace comments

Page 76: O que é ser um bom programador?

comentários podem ser uteis

mostra a intenção por trás de uma decisão tomada

avisa aos desenvolvedores sobre a consequência de um

trecho de código

Page 77: O que é ser um bom programador?

formatação

formatação é importante para a comunicação

legibilidade é importante para mudanças futuras

métodos com conceitos parecidos devem ficar

verticalmente próximos

ordem dos métodos influencia na legibilidade do

código

Page 78: O que é ser um bom programador?

indentação

importante para visualização de todo o escopo

não deve ter nível maior que 2, para uma compreensão

fácil e rápida

espaçamento e importante

Page 79: O que é ser um bom programador?

código hadoooouuuken!!

Page 80: O que é ser um bom programador?

code smells - fique atento a eles

comentários pobres, obsoletos ou redundantes

métodos mortos ou que fazem muita coisa

código comentado

responsabilidades demais ou fora do contexto

nomes pequenos e inexpressivos

muitos parâmetros ou parâmetros booleanos

despadronizaçãonúmeros mágicos

duplicidade de código

Page 81: O que é ser um bom programador?

mantenha sempre sua cozinha limpa!

Page 82: O que é ser um bom programador?

regra do escoteiro

deixe a areá do acampamento mais limpa do que como você encontrou.

Page 83: O que é ser um bom programador?

manifesto para desenvolvimento ágil de softwarewww.agilemanifest.com

Page 84: O que é ser um bom programador?

manifesto para o artesanato de softwaremanifesto.softwarecraftsmanship.org

Page 85: O que é ser um bom programador?

lucas boeing scarduelli / @lucasscarduelli

Perguntas?