Somos jardineiros
-
Upload
augusto-pascutti -
Category
Technology
-
view
12.342 -
download
0
description
Transcript of Somos jardineiros
Somos JardineirosAugusto Pascutti
Monday, August 22, 2011
Engenharia de Software
Monday, August 22, 2011
Engenharia
• Requisitos
• Planejamento
• Execução
• Testes
• Entrega
Monday, August 22, 2011
Exemplo de Projeto
“Quero uma ilustração do arrebatamento”
(Cliente)
Monday, August 22, 2011
Exemplo de Projeto
Monday, August 22, 2011
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
Exemplo de Projeto
Monday, August 22, 2011
Exemplo de Projeto
“Arrebatamento é um ato divino!”
(Cliente)
Monday, August 22, 2011
Exemplo de Projeto
Monday, August 22, 2011
Jardins
Monday, August 22, 2011
Jardins
• Nunca ficarão prontos
• Impossíveis de planejar (detalhadamente)
• Dependem de manutenção contínua
Monday, August 22, 2011
Um bom jardineiro
Monday, August 22, 2011
Um bom jardineiro
• É ágil
• Aprende e utiliza padrões (conhecimento coletivo)
• Favorece sempre a simplicidade
• Mantém o jardim
Monday, August 22, 2011
Manifesto Ágil
Monday, August 22, 2011
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
Padrões
Monday, August 22, 2011
Padrões
• Padrões de Design
• Padrões de Codificação
• Componentes
• Ferramentas
Monday, August 22, 2011
Padrões de Design
• Soluções comuns a problemas
• Vocabulário
• Facilmente identificados no código
• Flexibilidade
Monday, August 22, 2011
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
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
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
Simplicidade
Monday, August 22, 2011
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
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
Simplicidade
1 <?php2 $file = new Socket_File('s.jpg');3 $connection = new Socket_Connection();4 $connection->send($file);
Monday, August 22, 2011
Manutenção
Monday, August 22, 2011
Manutenção
• Código é um câncer
• Refatorar NÃO é uma opção
• Desenvolver é conhecimento
• Refatorar é sabedoria
Monday, August 22, 2011
Conhecimento é saber que tomate é um fruta. Sabedoria é não colocá-lo numa salada de
frutas.
Monday, August 22, 2011
Zen Gardening
Monday, August 22, 2011
Zen Gardening
Ou o que preciso para manter meu jardim saudável?
Monday, August 22, 2011
Zen Gardening
• PHPUnit
• PHPCS
• PHPMD
Monday, August 22, 2011
PHPUnit
• Permite as mudanças “Fuck-off”
• Melhora seu código
• Te poupa (MUITO) tempo
Monday, August 22, 2011
PHPCS
• Garante que todo mundo siga o padrão
Monday, August 22, 2011
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
Você faz errado
Monday, August 22, 2011
Você faz errado
Monday, August 22, 2011
Você faz errado
• Performance
Monday, August 22, 2011
Você faz errado
• Performance
• Model, View, Controller
Monday, August 22, 2011
Você faz errado
• Performance
• Model, View, Controller
• HTML
Monday, August 22, 2011
Você faz errado
• Performance
• Model, View, Controller
• HTML
• HTTP (Falar com: @alganet)
Monday, August 22, 2011
Perguntas?
Monday, August 22, 2011
Perguntas?
Apresentação inspirada no post: http://bit.ly/kN3uc6
Monday, August 22, 2011
Perguntas?
Apresentação inspirada no post: http://bit.ly/kN3uc6
Slides, comentários e brindes: http://joind.in/3651
Monday, August 22, 2011
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