jueves, 28 de noviembre de 2013

Buenas tardes, en la entrada de hoy hablaremos sobre el 4º criterio, recordemos que en entradas anteriores hablamos sobre los tres primeros criterios (Corrección, Robustez, Extensibilidad), otro gran aspecto es la Reusabilidad, de hecho es uno de los criterios de calidad más importantes a tener en cuenta, no quiero dejar de lado los anteriores porque son importantes, pero éste es uno de los más complejos e interesantes para analizar.



Primero quiero comentar que siempre veo gente hablar de esto, parece que con un poco de copiar y pegar, la gente cree que ya reusa código, mal por ellos, porque usar el mismo código varias veces no es en esencia reusar, en realidad si es parte del reuso, pero no es esa la definición, no podemos decir que reuso no es usar el mismo código varias veces, pero eso por si solo no es reuso, de hecho con ese criterio casi todo es reusable, y en realidad es totalmente incorrecto.
Algunos creen que para reusar basta con agarrar un código y usarlo en otra parte... en realidad no es así.

Por definición:
Reusabilidad es la habilidad de una entidad de software de ser reusado en conjunto o en parte en la construcción de nuevas entidades

No obstante es necesario hacer un punto de inflexión, para que algo sea reusable, debe funcionar en otro contexto para el que se le dio origen, sin necesidad de ninguna modificación.

Algunos autores son aún más extrictos, y mensionan que para que un código sea reusable debe cumplir con ciertas características.
En primer lugar el hecho de que el código debe poder ser COMPILADO en unidades diferentes a la del contexto.
Por otra parte que un código reusable debe poder ser desarrollado por separado del contexto en que sea usado.

La necesidad por la reusabilidad viene de la observación de que muchas entidades de software siguen un patrón común, debería ser posible explotar estas características comunes y evitar reinventar soluciones a problemas ya tratados anteriormente.
La importancia de la reusabilidad es obvia, Notese no solo el impacto económico que esta tiene sino además su impacto sobre otros factores de calidad. Tener reusabilidad básicamente implica tener que escribir menos código y por tanto mas esfuerzo puede asignarse, al mismo costo, a mejorar otros factores.

Tenga en cuenta lo siguiente, la reusabilidad nace del inteto por separar la implementación de la especificación, ambas palabras son un peso pesado, y nos advierten de la importancia, y la complejidad de ésto, el hecho de que un código no dependa del contexto que lo implementa, significa más de lo que dice, básicamente podríamos deducir que se permite usar un código en nuevos productos completamente diferentes, desde estructura, programación, hasta objetivos, pero que ambos requieran las funcionalidades del código dicho.

Notese que aún es más complejo, el hecho de decidir que partes del código queremos escribir de forma reusable, ya que esto es un costo importante que debe ser amortizado, una mala elección podría hacernos perder bastante dinero.

Saludos!

0 comentarios:

Publicar un comentario

Subscribete al RSS Follow me on Twitter!