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)

Clean Code

By smmd

Clean Code

Introducción al uso de código limpio.

  • 347