+ All Categories
Home > Technology > Explicando conceitos de software usando situações do cotidiano

Explicando conceitos de software usando situações do cotidiano

Date post: 08-Jul-2015
Category:
Upload: paulo-cesar-ortins-brito
View: 272 times
Download: 0 times
Share this document with a friend
Description:
Palestra sobre conceitos de software no Rails Girls
29
EXPLICANDO CONCEITOS DE SOFTWARE USANDO SITUAÇÕES DO COTIDIANO Paulo Ortins
Transcript
Page 1: Explicando conceitos de software usando situações do cotidiano

EXPLICANDO CONCEITOS DE

SOFTWARE USANDO SITUAÇÕES

DO COTIDIANO

Paulo Ortins

Page 2: Explicando conceitos de software usando situações do cotidiano

A história de Bob

Page 3: Explicando conceitos de software usando situações do cotidiano

McDonalds == Aplicação Web

Page 4: Explicando conceitos de software usando situações do cotidiano

MVC Rails

Page 5: Explicando conceitos de software usando situações do cotidiano

Tempos de entrega agressivos

Page 6: Explicando conceitos de software usando situações do cotidiano

Bob estava entregando tudo no prazo, o chefe dele tava feliz

Page 7: Explicando conceitos de software usando situações do cotidiano

Os lanches começaram a atrasar e qualidade do lanche também

Page 8: Explicando conceitos de software usando situações do cotidiano

Estava tudo uma bagunça

Page 9: Explicando conceitos de software usando situações do cotidiano

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.

Page 10: Explicando conceitos de software usando situações do cotidiano

Bob teve que melhorar toda a bagunça que ele tinha feito

Page 11: Explicando conceitos de software usando situações do cotidiano

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

Page 12: Explicando conceitos de software usando situações do cotidiano

Mas como garantir que o BigMac ainda seria bom ?

Page 13: Explicando conceitos de software usando situações do cotidiano

Era necessário que alguém testasse a qualidade do lanche a cada mudança

Page 14: Explicando conceitos de software usando situações do cotidiano

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.

Page 15: Explicando conceitos de software usando situações do cotidiano

Bob pegou o caminho de casa...

Page 16: Explicando conceitos de software usando situações do cotidiano

Mas Bob bateu o carro e morreu !

Page 17: Explicando conceitos de software usando situações do cotidiano

E se Bob pudesse viajar no tempo ?

Page 18: Explicando conceitos de software usando situações do cotidiano

Controles de Versão

• São softwares que nos permitem navegar entre as diferentes versões do software produzido.

• Permitem desfazer ações indesejadas.

Page 19: Explicando conceitos de software usando situações do cotidiano

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”

Page 20: Explicando conceitos de software usando situações do cotidiano

Bob ganhou uma segunda chance

git commit –m “Saí do trabalho”

Page 21: Explicando conceitos de software usando situações do cotidiano

Múltiplos caminhos

Page 22: Explicando conceitos de software usando situações do cotidiano

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.

Page 23: Explicando conceitos de software usando situações do cotidiano

Bob criou diferentes branches da sua vida, ele foi surfista...

Page 24: Explicando conceitos de software usando situações do cotidiano

médico...

Page 25: Explicando conceitos de software usando situações do cotidiano

e fisiculturista...

Page 26: Explicando conceitos de software usando situações do cotidiano

Mas um dia ele queria ter apenas uma vida de novo.

Page 27: Explicando conceitos de software usando situações do cotidiano

Merge

• Reconciliar os diferentes branches de um software.

• Podem ser automáticos ou manuais.

Page 28: Explicando conceitos de software usando situações do cotidiano

Recaptulando...

• MVC

• Code Smells ou Débitos Técnicos

• Refatoração

• Testes Automatizados

• Controles de Versão– Commits

– Branches

– Merge

Page 29: Explicando conceitos de software usando situações do cotidiano

Fim

• Entenderam alguma coisa ?

• Alguma dúvida ?

• Obrigado !


Recommended