Importancia de crear componentes reutilizables
Importancia de crear componentes reutilizables
Cuando trabajamos en proyectos de desarrollo pequeños o grandes (desde backend o frontend), siempre terminamos haciendo funciones o diseños que se repiten en varias partes de la aplicación o página web. Es nuestro deber identificar esos componentes que se estarán repitiendo y generalizarlos, para que solo tengamos que reutilizarlos.
¿Como reconozco que van a ser reutilizados?
Muchas veces puede estar en el boceto o en el análisis previo al desarrollo, también puede darse luego de llevar varias líneas de código, que llega un momento y te dices, está función o diseño ya estaba previamente hecho en otra parte de la aplicación, es buen momento para generalizarlo.
Aquí ejemplos previos al desarrollo:
- Cuando se están haciendo el mockup o la maquetación, podemos reconocer un componente que es parecido entre las diferentes pantallas. Por ejemplo puede ser el diseño de un botón, un modal de edición/creación (por cada CRUD), el diseño del header, etc.
- Al crear API Rest, cuando requerimos devolver siempre una misma estructura en las respuestas, aquí podríamos desarrollar una función que generalice dicha estructura.
- Estados en la base de datos que se aplicarán de la misma manera a diferentes módulos, por ejemplo un estado de activo e inactivo, cuando sabemos que solo tendrán estos dos estados, podemos generalizarlos.
Ejemplos luego de un tiempo:
- Las aplicaciones por lo general se van haciendo mejoras visuales y agregando nuevas funcionalidades, puede que se requiera repetir ciertos elementos de otras pantallas en las nuevas a crear, en este momento es buena oportunidad de crear un componente reutilizable.
- Siguiendo la misma situación anterior, un ejemplo en el backend es un apartado tienes el proceso para cargar archivos en la nube, entonces ahora se requiere en otro módulo, pasar ese proceso a uno genérico y utilizarlo en estas dos secciones.
¿En serio es tan importante?
Puedes pensar que no es tan necesario hacer esta actividad, porque me quita tiempo y tengo que entregar rápido, el usuario no me valorará está acción, desconozco como puedo refactorizar mi código o cualquier otra razón que puedas tener (¿que otros factores crees que no es necesario crear componente reutilizables?). Pero si pensamos de esta manera, nos podemos encontrar más adelante con los siguientes problemas:
- Si hay cambio en los diseños de los elementos de una página, te tocaría editar uno a uno, lo que efectivamente te quita tiempo y puedes cometer errores.
- Se necesita replicar una funcionalidad varias veces a lo largo del tiempo, tendrías que volverla a crear. Igual es tiempo y efectividad lo que pierdes.
- La mantenibilidad de tu código empieza a degradarse, ya que debes desgastarte editando varias partes del código, para una misma funcionalidad.
- No siempre seremos los mismos desarrollando la aplicación, es decir cuando se integre un nuevo desarrollador, a este le costará mucho más entender como funciona la lógica de la aplicación y donde debe editar (Además puede que nos critique lo que hicimos y lo empecemos a odiar porque tiene razón).
Conclusión
Para concluir, armar componentes reutilizables nos trae como consecuencia mayor productividad a futuro y mejorar nuestra capacidad de análisis, además que nos quita cierto trabajo a futuro y errores, ya que mantenemos un estándar y orden. Puede que los usuarios, clientes o nuestro jefes nos reprendan con el tiempo de entrega, al menos la primera vez, pero luego nos amarán por ser tan rápidos, efectivos y con baja tasas de errores. Sin más espero que haya podido recalcar lo importante que es armar componentes reutilizables, espero sus comentarios, hasta pronto.
0 comentarios