Código Limpio
¿Para qué?
- Calidad.
- Costos.
- Documentación.
- Agilidad de proceso.
- Reducir dolores de cabeza.
Nuestro cerebro es un compilador
En promedio puede procesar 7 cosas al mismo tiempo #7Rule
Los developers somos autores
Y tú . . . ¿Cómo capturas a tus nuevos lectores?
¿Qué características buscas en una obra literaria?
Los nombres
¡Sí importan!
Evitan desinformación
Facilitan búsquedas
Significado claro
"El nombre de un método debe decirlo todo."
"Un nombre descriptivo extenso es mucho mejor que uno breve pero enigmático."
"Evite ser chistoso."
X
O
Booleanos
Siempre deben responder una pregunta.
X
O
$wiwi
$isActive
$isNotLoggedIn
$loggedIn
Condicionales
Usar la herramienta correcta.
Evitar condicionales complejas.
Usar indentación clara.
A veces el código no es la respuesta.
¿Qué pregunta estas tratando de responder?
No duplicar
"Menos es más."
Buscar patrones de diseño
"No reinventar la rueda."
Razones para crear una función
Extraer un método.
Unica responsabilidad.
"Regresar" pronto.
Fallar rapido
"Una función simple puede ser larga."
"Una función compleja debe ser corta."
Fallar rapido
No recuperables
Recuperables.
Ignoradas
Tipos de excepciones
Regresar/Fallar
"pronto"
Debemos recordar
No esperar más de 2 parámetros en una función.
#7Rule
Hablemos de documentación. . .
Comentarios
"Es preferible código expresivo a comentarios"
En php 7 ya se puede usar "
type hinting
"
MATA el código Zombie
Comenta si y solo si no se puede expresar en el código.
O
// TODO;
¿Cómo mejorar los proyectos colaborativos?
Revisión de código.
Establecer guías.
Hacer pruebas unitarias.
Promover de manera proactiva las lineas limpias. (espacios, indentación, nombres . . .)
Trabajar en pares
Reconocer el código limpio no significa que sepamos cómo crearlo. . .
Refactorización
La regla del Boy Scout
"Dejar el acampamento más limpio de lo que se ha encontrado."
Fuente
"Clean Code: Writing Code for humans" por Cory House en Pruralsight
"Clean Code" de Robert Cecil Martin (Tío Bob)
Made with Slides.com