Patrones de programación y consejos

to, err := human()

por Sebastian Tabares

No es cuantos lenguajes de programación sabes...

...Sino como programas.

  • No sólo software que funciona,
    si no también software bien hecho.
  • No sólo que responda a cambios,
    si no también que añada valor de forma continuada.
  • No sólo individuos e interacciones,
    si no también una comunidad de profesionales.
  • No sólo colaboración con el cliente,
    si no también una asociación productiva.

Código limpio

Elegante y eficiente. 

Lógica directa, mínimas dependencias y fácil de mantener.

BJARNE STROUSTRUP
(Inventor de C++)

GRADY BOOCH
(Desarrolló UML)

El código limpio se lee como prosa bien escrita

  • El código limpio puede ser leído y mejorado por un desarrollador distinto de su autor original.
  • Tiene tests unitarios y de aceptación.
  • Tiene nombres con significado.
  • Proporciona una forma de hacer las cosas en lugar
  • de muchas alternativas.

"BIG" DAVE THOMAS
(Padrino de Eclipse)

LA REGLA DEL BOY SCOUT
Porque no es suficiente escribir buen código.El código se tiene que mantener sin pudrirse
ni degradarse.

 

Deja el lugar donde acampaste un poco
más limpio que como lo encontraste."

EL CÓDIGO:

SE ESCRIBE UNA VEZ
SE MODIFICA 10 VECES
SE LEE 100 VECES

FP λ

Functional Programming

Text

  •  “Keep It Simple, Stupid" (KISS)

  • "Don't Repeat Yourself" (DRY)

  • “You Aren’t Gonna Need It" (YAGNI) 

  • Separation of Concerns (SoC)

  • SOLID

Programming Principles

  •  Single Responsibility Principle (SRP)

  • Open/Closed Principle

  • Liskov’s Substitution Principle (LSP)

  • Interface Segregation Principle (ISP)

  • Dependency Inversion Principle (DIP)

FSM/Statecharts

FSMs

Usos?

https://statecharts.dev/

https://github.com/chrislgarry/Apollo-11

Gracias!

@sytabares

Palette

By Sebastian Yesid Tabares Amaya