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

339
-1

Published on

Palestra sobre conceitos de software no Rails Girls

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
339
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
  • Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
  • 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 !

    ×