Reutilización apropiada para programadores (RAP)



Resumen

Este artículo está dedicado a la temática "Reutilización de Código" la cual es de gran importancia en el mundo de desarrollo de software hoy en día, pues facilita a gran escala lo que es el procedimiento de diseño, creación, implementación y mantenimiento de este mismo.

Esta práctica es difícil de efectuar, porque requiere cierta preparación por parte del desarrollador, el cliente y los administradores del proyecto para que se pueda implementar de manera correcta, ya que para poder reutilizar es vital conocer la problemática a resolver así como sus limitantes y adaptabilidad del código.

Si bien, se espera poder orientar al lector en lo que es reutilización de código como práctica de desarrollo considerando beneficios y desventajas durante la planeación e implementación de dicho código así como el por qué debe realizar estas prácticas y cuando no es recomendado ya sea por factores internos (experiencia, costos) o externos (tiempo, objetivos).

Palabras Clave:

Reutilización, Tiempo, Adaptabilidad, Limitantes, Diseño.

Abstract This article it"s dedicated to the topic: "Code Reuse" which is one of the main factors on software development now on days because it makes much easier to design, creation, application and maintenance of the very same software. This kind of practice is hard to apply, most likely because it requires a lot of preparation from the software developer, the client and the project managers in order to be able to apply it properly. It is also a good idea to know well the objectives, limits and code adaptability.

As main goal for this article, is to help the reader to reuse code as a normal practice considering the benefits and disadvantages during the design and application for those codes or methods, including when you should reuse or not to do so because of factors such as internal (experience, costs) or external (time, objectives).

Keywords:

Reuse, Time, Adaptability, Limits, Design.

Introducción

La reutilización es uno de los conceptos de la programación más antiguos y simples de entender, pero complejo al poner en práctica. El uso de software existente para desarrollar uno nuevo ha sido empleado desde los primeros días de la programación, siempre se han reusado partes de un código, planillas, funciones o procedimientos. Esta es la idea: parte o todo el código de un programa de computadora escrito una vez, sea o pueda ser usado en otros programas.

En sí, consiste en la creación de sistemas de software a partir de un software existente, en lugar de tener que rediseñar desde el principio.

En el siglo pasado resultaba imposible poder representar artefactos de software por su propio contenido (por ejemplo, buscar diagramas de clase similares a uno dibujado en otra herramienta), lo cual impedía que cualquiera pudiera buscarlos sin conocimiento previo de su existencia. Por este motivo, para reutilizar hubo que realizar el proceso inverso: primero parar la organización para ver qué podía ser reutilizable, después hacerlo reutilizable, lo siguiente era obligar a que todos conocieran lo que existe para reutilizar en la organización (puesto que si no, NO sabrían que existía), y luego intentar obligar a que reutilizaran lo existente por lo que tendrían que saber operar con ellos de antemano.

Tal cual la reutilización de código no se formalizo si no, hasta 1968 cuando en un congreso que organizó el Comité de Ciencia de la OTAN el ingeniero de Bell Laboratories, M.D. McIlroy, afirmó que "La industria del software se asienta sobre una base débil, y un aspecto importante de esa debilidad es la ausencia de una sub-industria de componentes". Es entonces cuando empiezan a surgir las primeras librerías de software con el fin de poder facilitar el diseño de diferentes módulos dentro de las compañías.

Desarrollo

En el área de programación o ingeniería de software la reutilización se refiere a la habilidad de poder extraer código, ya sean módulos, métodos, vistas, o cualquier pieza funcional de un algoritmo y poder implementarlo a otro sistema con el fin de poder ahorrar tiempo y esfuerzo durante las fases de diseño del software.

Así mismo, existen diferentes tipos de reutilización.

Y niveles, que se definen más por el componente a reutilizar.

 

 

Autor:

Canizales Torres, Axel ().

Gama Herrera, Andrea Elizabeth Guadalupe ().

Hernández Tirado, Miguel Aaron () .

Munguía Brito, César Abraham ().

Rodríguez Benítez, José Carlos () .

Rodríguez Romero, Cristo Favel ().

Sarabia Castellón, Jesús Gabriel ().