Nuestro código habla, ¿Qué nos dice? - Codemotion 2016

Post on 08-Jan-2017

329 views 0 download

Transcript of Nuestro código habla, ¿Qué nos dice? - Codemotion 2016

Nuestro código habla,

¿Qué nos dice?

MADRID · NOV 18-19 · 2016

Modesto San Juan@msanjuan

MADRID · NOV 18-19 · 2016

Contexto

Este podría ser tu próximo compañero

“Hay que tocar ese código de hace 6 meses”

Tu yo del futuro te lo agradecerá

¿Qué podemos hacer?

• Estructura

• API

• Código

• Tests

• Datos

• Monitorización

• Historia

Estructura

Estructura

Estructura

Estructura

Estructura

Estructura

Tu API es una puerta a tu negocio

APIs

• Mínima sorpresa

• Códigos de retorno adecuados

• Verbos adecuados

• Tests

• Datos

• Monitorización

APIs: mínima sorpresa

/tasks/1/status /tasks/1/status /tasks/1/detail /tasks/1/errors

Código

Lenguaje del negocio

Arquitectura hexagonal*

Abstracciones correctas

Niveles de abstracción

SingletonTight CouplingUntestabilityPremature optimizationIndescriptible namingDuplication

Single ResponsibilityOpen/CloseLiskov SubstitutionInterface SegregationDependency Inversion

“Duplication is far cheaper than the wrong abstraction”

Sandy Metz

Falta de abstracciones: Primitivos voladores

Código

Tests

Deben hablar de funcionalidades

En el lenguaje del dominio

Legibles

Simples

VS

Datos

BBDDDevopsConfiguraciónParametrización...

Una vez desplegado...

¿Monitorización?

Identificación de errores

Reproducción de errores

Toma de decisiones...

Proactivo vs Reactivo

¡Sin pasarse!

Historia

¿Dónde pongo el foco?

Silos de conocimiento

Acoplamientos inesperados

En resumen

Estructura

API

Código (incluyendo DevOps!)

Datos (BBDD, configuración,

parametrización)

Monitorización

Historia

Naming! Siempre Naming!

Gracias!