• Clean Code,  Java,  OOP

    Object Calisthenics

    Desde finales de 2015 comencé a interesarme mucho por escribir código más limpio y comprensible, esto me llevó a leer diferente bibliografía al respecto, libros, artículos, opiniones. Durante este proceso descubrí que existen infinidad de conceptos y reglas que ayudan a los desarrolladores a conseguir que su código sea bello. Aunque todos los conceptos que he ido descubriendo se basan en el sentido común, la realidad es que poco se aplican en el mundo real, lo que me lleva a pensar que el sentido común es el menos común de los sentidos. Hoy os hablaré de la Calistenia de objetos (Object Calisthenics), si, suena raro, ¿qué es la calistenia?. Según wikipedia: La calistenia es…

  • Clean Code,  Java,  OOP

    Tell, don’t ask!

    “Tell, don’t ask” nos recuerda que no debemos usar los objetos para pedirles cosas y tomar decisiones después, lo que debemos hacer es decirles a los objetos que hagan cosas para que éstos internamente tomen sus propias decisiones según su estado. Si lo hacemos bien, evitaremos un acoplamiento entre objetos, conseguiremos sistemas mas robustos y escalables. Y es que un objeto se define por su comportamiento. Por lo tanto, cuando hablamos de «Tell, don’t ask» hablamos de cohesión, y se refiere principalmente al grado de cercanía entre los elementos de una clase (objeto). Una cohesión alta se asocia con aspectos como la robustez, la fiabilidad, la reutilización y la comprensión. Por el contrario, una cohesión débil…