somos jardineiros

44
Somos Jardineiros Augusto Pascutti Monday, August 22, 2011

Upload: augusto-pascutti

Post on 11-Jun-2015

12.340 views

Category:

Technology


0 download

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

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