Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TemDendê: Desenvolvimento PHP a Moda Baiana
Search
Jonata Weber
October 07, 2017
Programming
0
34
TemDendê: Desenvolvimento PHP a Moda Baiana
Jonata Weber
October 07, 2017
Tweet
Share
More Decks by Jonata Weber
See All by Jonata Weber
PHPStan - Analisador Estático
jonataa
0
110
PHP Moderno
jonataa
0
93
Programação Reativa com RxJS
jonataa
0
120
O que esperar de um profissional de TI
jonataa
0
35
A onda agora é função como serviço
jonataa
0
31
Programação Funcional com Acarajé e Dendê
jonataa
0
50
Curso de Programação Funcional com JavaScript
jonataa
0
130
Medindo a Performance de Códigos PHP
jonataa
0
59
5 motivos para você participar de eventos
jonataa
0
140
Other Decks in Programming
See All in Programming
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
150
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
3
1.1k
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
170
Contemporary Test Cases
maaretp
0
120
Tuning GraphQL on Rails
pyama86
2
1.2k
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Jakarta EE meets AI
ivargrimstad
0
280
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
650
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
1
400
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Music & Morning Musume
bryan
46
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Docker and Python
trallard
40
3.1k
Why Our Code Smells
bkeepers
PRO
334
57k
YesSQL, Process and Tooling at Scale
rocio
168
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
KATA
mclloyd
29
14k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Transcript
TemDenDê Desenvolvimento PHP a moda baiana
@JonataWeber
eXtreme Programming (XP)
XP: Princípios • Feedback rápido • Presumir simplicidade • Mudanças
incrementais • Abraçar mudanças • Trabalho de alta qualidade
XP: Práticas • Jogo de Planejamento • Pequenas entregas •
Metáfora • Design Simples • Testes de Aceitação • Semana de 40 horas • Propriedade Coletiva • Pair Programming • Padronização de código • Test Driven Development (TDD) • Refatoração • Integração Contínua
XP: Práticas • Jogo de Planejamento • Pequenas entregas •
Metáfora • Design Simples • Testes de Aceitação • Semana de 40 horas • Propriedade Coletiva • Pair Programming • Padronização de código • Test Driven Development (TDD) • Refatoração • Integração Contínua
Test Driven Development (TDD)
Escreva um teste que falhe Refatore para melhorar o teste
Faça a pequena mudança passar o teste Execute todos os testes e veja um falhar Execute todos os testes e veja todos passarem Execute todos os testes e veja todos passarem
None
Benefícios • Mais feedbacks durante o desenvolvimento • Maior produtividade
• Redução de 40–80% dos bugs em produção • Menor custo de manutenção • Legibilidade do código • Design guiado pelos testes • Documentação "viva"
O código seria algo mais ou menos assim...
Valor Esperado Valor Obtido O código seria algo mais ou
menos assim...
Live coding
Onde aprender mais sobre TDD
Recomendações
TL;DR • TDD não elimina, mas reduz a quantidade de
bugs
Obrigado! @JonataWeber @WeberSchool.com.br
Referências https://medium.com/desenvolvimento-%C3%A1gil/a-nova-metodologia-69b8f8a379c7 http://www.thedevelopersconference.com.br/arquivos/tdc/2012/TDD20coisas.pd http://stackoverflow.com/questions/211557/what-is-a-metaphor-in-the-context-o-xp https://www.google.com/about/careers/students/guide-to-technical-developmenthtml https://br.udacity.com/course/software-testing--cs258/ http://andrewhuggins.com/post/testing-and-tdd-talk-with-live-coding-examples http://ahuggins.github.io/presentation-tdd/ http://henriquebastos.net/a-forma-como-voce-programa-faz-toda-a-diferenca/ https://pt.wikipedia.org/wiki/Test_Driven_Development
http://www.wedotdd.com/ https://medium.com/javascript-scene/5-common-misconceptions-about-tdd-unit-tests-863d5beb3ce9 https://www.codementor.io/blog/software-projects-failure-rate-success-factors-1nqch57orj http://www.mckinsey.com/business-functions/digital-mckinsey/our-insights/delivering-large-scale-it-projects-on-time-on-budget-and-on-value