Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Buenas prácticas, ¿Por qué son buenas?
aitortxu
November 28, 2019
More Decks by aitortxu
See All by aitortxu
pamplona_scraft.pdf
aitortxu
0
99
En mi equipo funciona pero no sé por qué
aitortxu
0
340
Deuda técnica ¿Podemos pagar los plazos?
aitortxu
0
190
Fallando con Grails
aitortxu
1
3.2k
Probando con Grails
aitortxu
0
110
Katayunos
aitortxu
1
260
Other Decks in Programming
See All in Programming
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
2
400
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
770
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
250
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
970
The Rails Doctrine Decade
koic
2
590
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Statistics for Hackers
jakevdp
799
230k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
GraphQLとの向き合い方2022年版
quramy
50
15k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
It's Worth the Effort
3n
188
29k
For a Future-Friendly Web
brad_frost
184
10k
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