somos jardineiros

Post on 11-Jun-2015

12.342 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

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

top related