Somos jardineiros

44
Somos Jardineiros Augusto Pascutti Monday, August 22, 2011

description

Acredito sem dificuldade ao ver e escutar de um engenheiro que uma ponte terá tantos metros, tantos pilares e que ela ficará exatamente daquele jeito quando pronta mas me recuso a acreditar em alguém que me diz que um software será entregue exatamente do jeito que foi pedido inicialmente. Eu não sou um engenheiro, sou um jardineiro!

Transcript of Somos jardineiros

Page 1: Somos jardineiros

Somos JardineirosAugusto Pascutti

Monday, August 22, 2011

Page 2: Somos jardineiros

Engenharia de Software

Monday, August 22, 2011

Page 3: Somos jardineiros

Engenharia

• Requisitos

• Planejamento

• Execução

• Testes

• Entrega

Monday, August 22, 2011

Page 4: Somos jardineiros

Exemplo de Projeto

“Quero uma ilustração do arrebatamento”

(Cliente)

Monday, August 22, 2011

Page 5: Somos jardineiros

Exemplo de Projeto

Monday, August 22, 2011

Page 6: Somos jardineiros

Exemplo de Projeto

“Não é arrebentamento, é arrebatamento! É a história das pessoas boas irem para o céu com corpo e tudo ...”

(Cliente)

Monday, August 22, 2011

Page 7: Somos jardineiros

Exemplo de Projeto

Monday, August 22, 2011

Page 8: Somos jardineiros

Exemplo de Projeto

“Arrebatamento é um ato divino!”

(Cliente)

Monday, August 22, 2011

Page 9: Somos jardineiros

Exemplo de Projeto

Monday, August 22, 2011

Page 10: Somos jardineiros

Jardins

Monday, August 22, 2011

Page 11: Somos jardineiros

Jardins

• Nunca ficarão prontos

• Impossíveis de planejar (detalhadamente)

• Dependem de manutenção contínua

Monday, August 22, 2011

Page 12: Somos jardineiros

Um bom jardineiro

Monday, August 22, 2011

Page 13: Somos jardineiros

Um bom jardineiro

• É ágil

• Aprende e utiliza padrões (conhecimento coletivo)

• Favorece sempre a simplicidade

• Mantém o jardim

Monday, August 22, 2011

Page 14: Somos jardineiros

Manifesto Ágil

Monday, August 22, 2011

Page 15: Somos jardineiros

Manifesto Ágil

• Indivíduos e interações > processos e ferramentas

• Software funcional > boa documentação

• Colaboração com cliente > negociação contratual

• Responder a mudanças > seguir um plano

Monday, August 22, 2011

Page 16: Somos jardineiros

Padrões

Monday, August 22, 2011

Page 17: Somos jardineiros

Padrões

• Padrões de Design

• Padrões de Codificação

• Componentes

• Ferramentas

Monday, August 22, 2011

Page 18: Somos jardineiros

Padrões de Design

• Soluções comuns a problemas

• Vocabulário

• Facilmente identificados no código

• Flexibilidade

Monday, August 22, 2011

Page 19: Somos jardineiros

Padrões de Código

• Usar TABS ou Espaços?

• Os mais utilizados: Zend e PEAR

• Integração com outros sistemas/pacotes

• Autoloader universal

Monday, August 22, 2011

Page 20: Somos jardineiros

Padrões: Componentes

• Comunicação com Banco: PDO

• Componente de Console: Symfony_Console

• Componente de Log: Zend_Log

• Componente de Validação: Respect_Validator

• ORM: Doctrine

Monday, August 22, 2011

Page 21: Somos jardineiros

Padrões: Ferramentas

• Testes Unitários: PHPUnit

• Tarefas automáticas: PHING / ANT

• Banco de Dados: MySQL / MariaDB

• Métricas de Software: PHPMD

• Checkstyle: PHPCS

• Documentação: PhpDocumentor / DocBlox

Monday, August 22, 2011

Page 22: Somos jardineiros

Simplicidade

Monday, August 22, 2011

Page 23: Somos jardineiros

Simplicidade

• Não é fácil de obter

• Código é a melhor documentação que existe

• Encapsulamento e modularização

• Filosofia Unix (Reutilização)

• Menos é mais

Monday, August 22, 2011

Page 24: Somos jardineiros

Simplicidade

1 <?php2 $connection = new Socket_Connection_Type_Udp();3 $connection->setAddress('')->setPort('')->create();4 $connection->send("Hi");5 $file = new Socket_File('./silvio.jpeg');6 $parts = $file->divideInPartsOf(1024);7 8 foreach ($packages as $pack) {9 $connection->send($pack);10 }

Monday, August 22, 2011

Page 25: Somos jardineiros

Simplicidade

1 <?php2 $file = new Socket_File('s.jpg');3 $connection = new Socket_Connection();4 $connection->send($file);

Monday, August 22, 2011

Page 26: Somos jardineiros

Manutenção

Monday, August 22, 2011

Page 27: Somos jardineiros

Manutenção

• Código é um câncer

• Refatorar NÃO é uma opção

• Desenvolver é conhecimento

• Refatorar é sabedoria

Monday, August 22, 2011

Page 28: Somos jardineiros

Conhecimento é saber que tomate é um fruta. Sabedoria é não colocá-lo numa salada de

frutas.

Monday, August 22, 2011

Page 29: Somos jardineiros

Zen Gardening

Monday, August 22, 2011

Page 30: Somos jardineiros

Zen Gardening

Ou o que preciso para manter meu jardim saudável?

Monday, August 22, 2011

Page 31: Somos jardineiros

Zen Gardening

• PHPUnit

• PHPCS

• PHPMD

Monday, August 22, 2011

Page 32: Somos jardineiros

PHPUnit

• Permite as mudanças “Fuck-off”

• Melhora seu código

• Te poupa (MUITO) tempo

Monday, August 22, 2011

Page 33: Somos jardineiros

PHPCS

• Garante que todo mundo siga o padrão

Monday, August 22, 2011

Page 34: Somos jardineiros

PHPMD

• Busca por exageros no código

• Evita complexidades no código

• Mantém a sanidade da equipe

• As amizades também

Monday, August 22, 2011

Page 35: Somos jardineiros

Você faz errado

Monday, August 22, 2011

Page 36: Somos jardineiros

Você faz errado

Monday, August 22, 2011

Page 37: Somos jardineiros

Você faz errado

• Performance

Monday, August 22, 2011

Page 38: Somos jardineiros

Você faz errado

• Performance

• Model, View, Controller

Monday, August 22, 2011

Page 39: Somos jardineiros

Você faz errado

• Performance

• Model, View, Controller

• HTML

Monday, August 22, 2011

Page 40: Somos jardineiros

Você faz errado

• Performance

• Model, View, Controller

• HTML

• HTTP (Falar com: @alganet)

Monday, August 22, 2011

Page 41: Somos jardineiros

Perguntas?

Monday, August 22, 2011

Page 42: Somos jardineiros

Perguntas?

Apresentação inspirada no post: http://bit.ly/kN3uc6

Monday, August 22, 2011

Page 43: Somos jardineiros

Perguntas?

Apresentação inspirada no post: http://bit.ly/kN3uc6

Slides, comentários e brindes: http://joind.in/3651

Monday, August 22, 2011

Page 44: Somos jardineiros

Imagens utilizadas• bottles.jpeg - http://www.flickr.com/photos/cobalt/440637383/

• ilustrações arrebatamento - http://divasca.blogspot.com/2011/08/mas-e-pra-igreja.html

• garden.png - http://www.flickr.com/photos/epsos/3574411866

• garden2.jpeg - http://www.flickr.com/photos/virgomerry/19620399

• garden3.jpeg - http://www.flickr.com/photos/29738009@N08/2975653613

• skycrapers.png - http://www.flickr.com/photos/denvie/4049529132

• gardening.jpeg - http://www.flickr.com/photos/sovietuk/459807381

• origin.jpeg - http://www.flickr.com/photos/blyzz/5703084364

• railroad.jpeg - http://www.flickr.com/photos/helloeveryone123/4091250229

• rails.jpeg - http://www.flickr.com/photos/robotbrainz/1467565903

• tv.jpeg - http://www.flickr.com/photos/h2oalchemist/319537908

• zen.jpeg - http://www.flickr.com/photos/29738009@N08/2973500989

• zen2.jpeg - http://www.flickr.com/photos/josefeliciano/3849557951

Monday, August 22, 2011