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
aitortxu
November 28, 2019
Programming
0
370
Buenas prácticas, ¿Por qué son buenas?
aitortxu
November 28, 2019
Tweet
Share
More Decks by aitortxu
See All by aitortxu
pamplona_scraft.pdf
aitortxu
0
68
En mi equipo funciona pero no sé por qué
aitortxu
0
280
Deuda técnica ¿Podemos pagar los plazos?
aitortxu
0
160
Fallando con Grails
aitortxu
1
2.7k
Probando con Grails
aitortxu
0
98
Katayunos
aitortxu
1
190
Other Decks in Programming
See All in Programming
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.5k
PostmanでAPIの動作確認が楽になった話
h455h1
0
180
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
180
Netty Chicago Java User Group 2024-04-17
sullis
0
200
Domain-Driven Transformation
hschwentner
2
1.5k
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
560
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
120
AppRouter Panel Talk
yosuke_furukawa
PRO
1
450
try! Swift Tokyo 初参加報告LT
hinakko2
0
230
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1k
Ruby GitHub Packages
bkuhlmann
0
640
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Designing Experiences People Love
moore
136
23k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Faster Mobile Websites
deanohume
300
30k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Building an army of robots
kneath
300
41k
A better future with KSS
kneath
231
16k
The Invisible Customer
myddelton
114
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
The Cost Of JavaScript in 2023
addyosmani
20
3.9k
Code Review Best Practice
trishagee
56
15k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
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