Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
EXPLICANDO CONCEITOS DE
SOFTWARE USANDO SITUAÇÕES
DO COTIDIANO
Paulo Ortins
A história de Bob
McDonalds == Aplicação Web
MVC Rails
Tempos de entrega agressivos
Bob estava entregando tudo no prazo,
o chefe dele tava feliz
Os lanches começaram a atrasar e
qualidade do lanche também
Estava tudo uma bagunça
Code Smells ou Débitos Técnicos
• Problemas que surgem durante o processo
de codificação e que não são resolvidos.
• Com o...
Bob teve que melhorar toda a
bagunça que ele tinha feito
Refactoring ou Refatoração
• São técnicas utilizadas para melhorar o
código existente.
– Rearrumação de partes do código
–...
Mas como garantir que o BigMac
ainda seria bom ?
Era necessário que alguém testasse a
qualidade do lanche a cada mudança
Testes Automatizados
• São partes do código que testam o próprio
código.
• Garantem que o nosso código continue
funcionand...
Bob pegou o caminho de casa...
Mas Bob bateu o carro e morreu !
E se Bob pudesse viajar no tempo ?
Controles de Versão
• São softwares que nos permitem navegar
entre as diferentes versões do software
produzido.
• Permitem...
Commits
• Ato de gravar uma determinada versão do
software para que ele possa ser recuperada
depois.
git commit –m “Fiz o ...
Bob ganhou uma segunda chance
git commit –m “Saí do trabalho”
Múltiplos caminhos
Branches
• São duplicações de versões do mesmo
software que agora existem em paralelo.
• Exemplos: versões do site em dife...
Bob criou diferentes branches da sua
vida, ele foi surfista...
médico...
e fisiculturista...
Mas um dia ele queria ter apenas
uma vida de novo.
Merge
• Reconciliar os diferentes branches de um
software.
• Podem ser automáticos ou manuais.
Recaptulando...
•
•
•
•
•

MVC
Code Smells ou Débitos Técnicos
Refatoração
Testes Automatizados
Controles de Versão
– Comm...
Fim
• Entenderam alguma coisa ?
• Alguma dúvida ?

• Obrigado !
Upcoming SlideShare
Loading in …5
×

Explicando conceitos de software usando situações do cotidiano

534 views

Published on

Slides da apresentação do Paulo Ortins.
Contatos do Paulo:
http://www.slideshare.net/pauloortins
https://twitter.com/pauloortins
http://pauloortins.com/

  • Be the first to comment

  • Be the first to like this

Explicando conceitos de software usando situações do cotidiano

  1. 1. EXPLICANDO CONCEITOS DE SOFTWARE USANDO SITUAÇÕES DO COTIDIANO Paulo Ortins
  2. 2. A história de Bob
  3. 3. McDonalds == Aplicação Web
  4. 4. MVC Rails
  5. 5. Tempos de entrega agressivos
  6. 6. Bob estava entregando tudo no prazo, o chefe dele tava feliz
  7. 7. Os lanches começaram a atrasar e qualidade do lanche também
  8. 8. Estava tudo uma bagunça
  9. 9. Code Smells ou Débitos Técnicos • Problemas que surgem durante o processo de codificação e que não são resolvidos. • Com o tempo começam a atrasar o projeto, diminuir a qualidade e até mesmo cancelar o projeto.
  10. 10. Bob teve que melhorar toda a bagunça que ele tinha feito
  11. 11. Refactoring ou Refatoração • São técnicas utilizadas para melhorar o código existente. – Rearrumação de partes do código – Divisão de responsabilidades – Exclusão de código
  12. 12. Mas como garantir que o BigMac ainda seria bom ?
  13. 13. Era necessário que alguém testasse a qualidade do lanche a cada mudança
  14. 14. Testes Automatizados • São partes do código que testam o próprio código. • Garantem que o nosso código continue funcionando depois de cada mudança.
  15. 15. Bob pegou o caminho de casa...
  16. 16. Mas Bob bateu o carro e morreu !
  17. 17. E se Bob pudesse viajar no tempo ?
  18. 18. Controles de Versão • São softwares que nos permitem navegar entre as diferentes versões do software produzido. • Permitem desfazer ações indesejadas.
  19. 19. Commits • Ato de gravar uma determinada versão do software para que ele possa ser recuperada depois. git commit –m “Fiz o carrinho de compras” git commit –m “Mudei a cor do site de vermelho pra amarelo”
  20. 20. Bob ganhou uma segunda chance git commit –m “Saí do trabalho”
  21. 21. Múltiplos caminhos
  22. 22. Branches • São duplicações de versões do mesmo software que agora existem em paralelo. • Exemplos: versões do site em diferentes cores, versões do site com diferentes tipos de pagamento e etc.
  23. 23. Bob criou diferentes branches da sua vida, ele foi surfista...
  24. 24. médico...
  25. 25. e fisiculturista...
  26. 26. Mas um dia ele queria ter apenas uma vida de novo.
  27. 27. Merge • Reconciliar os diferentes branches de um software. • Podem ser automáticos ou manuais.
  28. 28. Recaptulando... • • • • • MVC Code Smells ou Débitos Técnicos Refatoração Testes Automatizados Controles de Versão – Commits – Branches – Merge
  29. 29. Fim • Entenderam alguma coisa ? • Alguma dúvida ? • Obrigado !

×