código limpio - mandev.esmandev.es › cv › edd18 ›...
TRANSCRIPT
![Page 1: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/1.jpg)
Código limpiorevelando la intención del código
Manuel Pijierro Sa - @mpijierro
![Page 2: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/2.jpg)
Gracias a...
![Page 3: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/3.jpg)
Gracias a...
![Page 4: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/4.jpg)
Sobre mi
@mpijierro
https://github.com/mpijierro
mandev.es/cv/
Reference Leader Software Development at S|ngular
https://medium.com/@mpijierro
Manuel Pijierro Sa
![Page 5: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/5.jpg)
Talk is cheap. Show me the code
Torvalds, Linux (25-08-2000)
Sobre la charla
![Page 6: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/6.jpg)
Sobre el código limpio
Correcto Simple
Testeable Extensible
![Page 7: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/7.jpg)
Sobre el código limpio
No existe una definición exacta
Tiene algo de subjetivo
Proceso de mejora contínua
![Page 8: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/8.jpg)
Sobre el código limpio
"Code is like humor. When you have to explain it, it’s bad"Cory House, @housecor
"It is not enough for code to work"Robert C. Martin, @unclebobmartin
![Page 9: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/9.jpg)
Mantenibilidad
![Page 10: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/10.jpg)
Mantenibilidad
LEGIBLE COMPRENSIBLE
![Page 11: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/11.jpg)
Aspectos del código que mejoran y facilitan su legibilidad y
comprensibilidad
![Page 12: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/12.jpg)
1) Sobre los nombres
![Page 13: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/13.jpg)
Evita nombres que no revelen la intención
1) Sobre los nombres
![Page 14: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/14.jpg)
Evita usar varias palabras para un mismo concepto
1) Sobre los nombres nombres
![Page 15: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/15.jpg)
Una palabra por concepto usando estándares y convenciones
Nombre de funciones
- add / remove - increment / decrement- begin / end - insert / delete- create / destroy - lock / unlock- first / last - get / set- show / hide - start / stop
Nombres de variables
- begin / end - first / last- locked / unlocked - min / max- next / previous - old / new- opened / closed - source / targe- up / down
1) Sobre los nombres nombres
![Page 16: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/16.jpg)
2) Sobre los parámetros
![Page 17: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/17.jpg)
Usa operandos y no opciones
2) Sobre los parámetros
![Page 18: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/18.jpg)
Usa operandos y no opciones
2) Sobre los parámetros
![Page 19: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/19.jpg)
Objetos de dominio y ‘data clumps’
2) Sobre los parámetros
![Page 20: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/20.jpg)
2) Sobre los parámetrosObjetos de dominio y ‘data clumps’
![Page 21: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/21.jpg)
3) Sobre las condiciones
![Page 22: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/22.jpg)
Utiliza condicionales semánticos fáciles de leer y comprender
3) Sobre las condiciones
![Page 23: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/23.jpg)
Utiliza condicionales semánticos fáciles de leer y comprender
3) Sobre las condiciones
![Page 24: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/24.jpg)
Un solo nivel de indentación por método
3) Sobre las condiciones
![Page 25: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/25.jpg)
Un solo nivel de indentación por método
3) Sobre las condiciones
![Page 26: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/26.jpg)
Un solo nivel de indentación por método: cláusulas de guarda
3) Sobre las condiciones
![Page 27: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/27.jpg)
Un solo nivel de indentación por método
3) Sobre las condiciones
![Page 28: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/28.jpg)
Un solo nivel de indentación por método
3) Sobre las condiciones
![Page 29: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/29.jpg)
Aprovecha para contar una historia en cada método público...
4) Sobre las funciones
![Page 30: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/30.jpg)
4) Sobre las funciones...pero no cuentes historias de miedo
![Page 31: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/31.jpg)
4) Sobre las funcionesPequeñas, menos es más
![Page 32: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/32.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 33: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/33.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 34: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/34.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 35: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/35.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 36: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/36.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 37: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/37.jpg)
5) Sobre los principiosEvita las sorpresas: Principio de la Mínima Sorpresa
![Page 38: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/38.jpg)
6) Sobre los comentariosEl código es el único que siempre dice la verdad
![Page 39: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/39.jpg)
6) Sobre los comentariosEl código es el único que siempre dice la verdad
![Page 40: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/40.jpg)
6) Sobre los comentariosEl código es el único que siempre dice la verdad
![Page 41: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/41.jpg)
7) SimetríaEl código debe parecerse en cualquier parte del proyecto
Simetría sintáctica
Simetría semántica
Simetría sistémica
![Page 42: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/42.jpg)
7) SimetríaSimetría sistémica
![Page 43: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/43.jpg)
7) SimetríaSimetría sistémica
![Page 44: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/44.jpg)
De tu parte queda...
Entrenar
![Page 45: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/45.jpg)
EntrenarConcentrarse
De tu parte queda...
![Page 46: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/46.jpg)
EntrenarConcentrarseSer consciente
De tu parte queda...
![Page 47: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/47.jpg)
EntrenarConcentrarseSer conscienteSer responsable
De tu parte queda...
![Page 48: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/48.jpg)
Bibliografía recomendada
![Page 49: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/49.jpg)
Ahora te toca a ti
¿preguntas? ¿comentarios? ¿sugerencias?
![Page 50: Código limpio - mandev.esmandev.es › cv › edd18 › revelando_intencion_del_codigo_manuel_piji… · Sobre el código limpio "Code is like humor. When you have to explain it,](https://reader035.vdocuments.us/reader035/viewer/2022081406/5f0e31fd7e708231d43e1123/html5/thumbnails/50.jpg)
Fin
Gracias por vuestra atención.