Daniel Correa
Software Engineer focused on UI, SOA and DevOps. Passionate about good beer, code and open source projects.
Como mantener tu código más limpio que tu habitación :)
Quien soy yo?
Daniel Correa
@danielcb29
Primera ley de las funciones:
Deben ser pequeñas
Segunda ley de las funciones:
Deben ser más pequeñas que eso
FUNCTIONS SHOULD DO ONE THING. THEY SHOULD DO IT WELL.
THEY SHOULD DO IT ONLY.
FUNCTIONS SHOULD DO ONE THING. THEY SHOULD DO IT WELL.
THEY SHOULD DO IT ONLY.
Si?
No?
Tal vez?
A veces?
“Don’t comment bad code—rewrite it.”
—Brian W. Kernighan and P. J. Plaugher1
Haz tu código auto documentado!
+ Encapsulamiento: Nos gusta tener nuestras variables privadas o en ciertos casos protegidas.
+ Clases (Componentes) pequeñas por favor!
+ Single Responsibility Principle: Las clases deben tener una y solo una responsabilidad.
+ Cohesión: Las clases deben tener pocas variables instanciables. Los métodos deben manipular una o más de esas variables.
* Brinda contexto en tus excepciones
* No retornes Null!
* Si retornar Null suena mal, imagina pasar Null como parámetro
=> Pruebas Unitarias
=> Pruebas de integración
=> Pruebas funcionales (automatizadas?)
TDD (?)
Escribe tu código siempre en ingles, si, SIEMPRE
Aprende ingles, todo lo que necesitas está en ingles
Ingles?, si, también
Asiste a las comunidades locales, te sorprenderia cuanto aprender y cuantas nuevos amigos haces!
...Entre muchas otras comunidades!
Preguntas?
Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
Martin Fowler
Ex: Mejorar el siguiente código usando las prácticas vistas en esta presentación. Identificar malas practicas
Ex: En grupos
1) Proponga un código escrito con malas prácticas
2) Pase el código a otro grupo
3) Arregle el código del otro equipo
4) Identifique las buenas prácticas en el código limpio
By Daniel Correa
Bases para empezar a escribir código mantenible
Software Engineer focused on UI, SOA and DevOps. Passionate about good beer, code and open source projects.