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
Buenas prácticas, ¿Por qué son buenas?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
aitortxu
November 28, 2019
Programming
700
0
Share
Buenas prácticas, ¿Por qué son buenas?
aitortxu
November 28, 2019
More Decks by aitortxu
See All by aitortxu
pamplona_scraft.pdf
aitortxu
0
95
En mi equipo funciona pero no sé por qué
aitortxu
0
330
Deuda técnica ¿Podemos pagar los plazos?
aitortxu
0
180
Fallando con Grails
aitortxu
1
3k
Probando con Grails
aitortxu
0
110
Katayunos
aitortxu
1
230
Other Decks in Programming
See All in Programming
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
14k
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
210
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
150
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
140
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
120
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
270
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
790
The Less-Told Story of Socket Timeouts
coe401_
3
450
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Deep Space Network (abreviated)
tonyrice
0
120
Prompt Engineering for Job Search
mfonobong
0
270
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
エンジニアに許された特別な時間の終わり
watany
106
240k
Rails Girls Zürich Keynote
gr2m
96
14k
Building Adaptive Systems
keathley
44
3k
Six Lessons from altMBA
skipperchong
29
4.2k
Accessibility Awareness
sabderemane
1
100
Transcript
Buenas prácticas ¿Por qué son buenas? Aitor Alzola @Aitortxu foto
ponente Software crafters
Buenas prácticas ¿Por qué son buenas?
¿Qué es una buena práctica?
None
Negocio + Tecnología
Nuestro Contexto
None
Desarrollo en cascada vs Desarrollo ágil
https://martinfowler.com/bliki/WaterfallProcess.html
https://martinfowler.com/bliki/WaterfallProcess.html
Manifiesto por el Desarrollo Ágil de Software
Xtreme Programming
https://en.wikipedia.org/wiki/Extreme_programming#/media/File:Extreme_Programming.svg
Iterativo e incremental
None
None
Testing automático
Testing automático Product vs tests 0 25 50 75 100
1 2 3 Product Testing
Testing automático Product vs tests 0 35 70 105 140
1 2 3 Product Testing
Testing automático Product vs tests 0 40 80 120 160
1 2 3 Product Testing
Testing automático Product vs tests 0 45 90 135 180
1 2 3 Product Testing
Testing automático Product vs tests 0 50 100 150 200
1 2 3 Product Testing
Testing automático Product vs tests 0 75 150 225 300
1 2 3 Product Testing
0 22,5 45 67,5 90 1 2 3 4 5
6 7 8 9 10 Manual vs Automático
None
None
None
None
None
25.000 pruebas automáticas 15.000 pruebas interpretación 12.000 e2e metalingua 300
e2e sdk
Testing automático
Testing automático
None
Re-fac-tor To rewrite existing source code in order to improve
its readability, reusability or structure without affecting its meaning or behaviour.
Re-fac-tor Sin pruebas automáticas
Re-fac-tor Cambiar y rezar
Complejidad accidental VS Complejidad intrínseca
Integración continua
Integración continua
Integración continua Trunk-based Short-time branches …
Integración continua No nos liamos
Continuous Integración
Build Test Deploy Continuous Integración
Continuous Delivery
Continuous Deployment
Continuous Deployment Automatización Schema migration Infrastructure as code Automatización de
despliegue Testing integrado en el pipeline de entrega
Calidad de código
http://commadot.com/
Propiedad colectiva del código
Code review
https://www.semanticscholar.org/paper/Object-oriented-inspection-in-the-face-of-delocali-Dunsmore-Roper/ee2d1d5d592735bff88e61e5e05c74324b8f1e36
Pair programming
None
Inmutability
Métodos que devuelven el resultado de lo que hacen
Métodos que hacen lo que dicen
https://www.teepublic.com/es-mx/pegatina/1693236-kiss-keep-it-simple-stupid
http://www.dckap.com/blog/wp-content/uploads/2018/06/SOLID-PNG.png
Passes the tests. Reveals intention No duplication (DRY) Fewest elements
Four rules of Software design
Sonar
MicroServicios
https://martinfowler.com/articles/microservices/images/sketch.png
https://joshiarati12.files.wordpress.com/2016/04/cesymcwwoaerxvo.jpg?w=663
Documentación
None
Mejora continua
None
Alignment
None
¡Gracias! ¿Preguntas? @Aitortxu