6 razones por las que eres LENTO para programar

Uno de los grandes problemas de los desarrolladores en el mundo, es su obsesión por diversos temas. Estos pueden ser el color de las luces, la forma en cómo posicionan el teclado, el orden de los íconos o carpetas en el escritorio y, por supuesto, la constante obsesión que tenemos con nuestro código.

Esta práctica puede ser positiva o negativa, dependiendo del contexto en el cual la realicemos. Esto sucede porque existen múltiples factores que pueden determinar qué tan bueno o malo puede ser este hábito de estar constantemente revisando nuestro código.


Antes de continuar, puedes leer este post o ver y escuchar esta información en formato de video en nuestro canal de Youtube, te dejamos el link por si prefieres este formato. 😃 👍


¡Hola mundo, y bienvenidos a este post! El día de hoy hablaremos sobre de qué forma el código puede, en ocasiones, obsesionarnos quizás un poco…mucho, ya okey muchas veces revisamos constantemente algún código intentando mejorarlo.

Esta práctica puede ser muy positiva o muy negativa, y esto se debe única y exclusivamente al contexto en que realizamos este análisis. Por ejemplo, veamos el caso de la refactorización permanente.

REFACTORIZACIÓN PERMANENTE

La refactorización consiste en un proceso sistemático, donde mejoramos y optimizamos nuestro código sin necesidad de crear nuevas funcionalidades, esto permite obtener una mejor legibilidad junto a un diseño mucho más simple.

Esto puede incluir prácticas como abstracción del código, aplicación de principios SOLID.

¿Y a qué nos referimos con principios SOLID?

Eso lo hablaremos en mayor profundidad en otro post, así que les invito a todos a suscribirse y a seguirnos en todas nuestras redes, para que no te pierdas ese post, y muchos otros mas!

Ahora, ¿en qué consiste la refactorización permanente, recuerdan que en muchos post les he hablado que nunca se deja de aprender? Bueno, esto nos lleva inevitablemente al conflicto de saber más que el día de ayer y menos que el día de mañana.

Este hecho produce que siempre encontremos nuevas formas de escribir un código que ya habíamos terminado, y en ese deseo de mejorarlo, podemos invertir tiempo en la refactorización. Ahora, esta práctica en sí no es mala siempre y cuando lo apliques como metodología de aprendizaje, pero, en el mundo laboral, tenemos tiempos y plazos que cumplir.

La refactorización puede consumir más tiempo del que tengas disponible para realizar una tarea, por lo tanto, puede llevar a un atraso de un proyecto completo en el peor de los casos. Así que, como desarrollador, debes comprender en qué situaciones o circunstancias es viable o recomendado realizar esta práctica.

Para determinar si es prudente o no refactorizar, existen guías o consejos que te pueden ayudar a determinar si es necesario realizar la refactorización en el código, la primera de ellas es la regla de tres.

REGLA DE TRES

La regla de tres nos ayuda a establecer tres situaciones donde podemos determinar si es necesario o no realizar una refactorización. La primera regla nos dice que “si tú estás realizando algo por primera vez, no es necesario refactorizar”.

Esto se debe a que la refactorización es un trabajo de optimización de código, si estás realizando o escribiendo una función por primera vez, no es necesario que refactorices, ya que en teoría no existe duplicidad de código u otras funciones que realicen lo mismo que requiera de una refactorización, además de que puedes aplicar buenas prácticas sin mayores inconvenientes.

La segunda regla nos dice que “cuando estés realizando lo mismo por segunda vez, deberías sentirte avergonzado por repetir el código, pero realízalo de todos modos” Eso quiere decir que, en caso de que tengas que escribir, código que realice funciones similares por segunda vez, no es necesario refactorizar.

La tercera y última regla nos dice que “si estás realizando algo por tercera vez, es necesario refactorizar”. Es recién en este punto, cuando tu debes destinar tu tiempo a la refactorización del código, ya que la función es solicitada una cantidad de veces no menor, y si no se refactoriza, complicará la mantención del mismo en un futuro a ti, o a otros desarrolladores.

La siguiente situación donde debes considerar refactorizar tu código es cuando debes implementar algún feature.

IMPLEMENTAR FEATURES

Muchas veces tendrás que escribir y agregar nuevas funcionalidades a un sistema y en el proceso es posible que te encuentres con múltiples situaciones como, código sucio y complejo de comprender o funcionalidades que realizan lo mismo en distintas partes del código.

Este es un excelente momento para refactorizar el código, ya que permitirá a futuros desarrolladores poder implementar más adelante nuevas funcionalidades en un código mucho más legible y óptimo, y, por lo tanto, mucho más amigable. Pero algo sumamente importante, solo refactoriza si esto hace que sea más fácil implementar tu funcionalidad, si lo haces solo por estética y no facilita tu trabajo, no refactorices.

Además, recuerda, si consideras que te consumirá demasiado tiempo y tienes los plazos muy justos, debes respetar los tiempos asignados en la medida que sea posible, y quizás no puedas refactorizar el código en algunos casos, no obstante, siempre es bien valorada esta práctica.

Otra situación donde puedes eventualmente refactorizar tu código es cuando debes arreglar un error o también conocido como “bug”.

CORREGIR ERRORES

Es muy común que en tu día a día como desarrollador, te asignen tareas que consistan en encontrar y corregir distintos errores que puedan aparecer en las soluciones del sistema, y no necesariamente estas serán construidas por ti, debido a esto, es posible que realizar la búsqueda del inconveniente o error pueda ser más complejo si el código es difícil de comprender o leer.

Bug

Es por eso que al momento de realizar esta corrección puedes analizar si es necesario refactorizar, esta práctica puede facilitar el proceso de encontrar y corregir el problema, pero, solo debes realizar la refactorización si el código no respeta las prácticas de código limpio , no sigue la guía de la regla de tres que mencioné en el primer punto y sobre todo si el proceso no te consume demasiado tiempo, aunque esto último queda a criterio de cada desarrollador.

Estos consejos pueden ayudarte al momento de determinar si es necesaria o no una refactorización, y también te puede ayudar con tu problema de la refactorización permanente.

Aunque otro problema que nos suele suceder a los desarrolladores ocurre cuando nos obsesionamos con lo que desarrollamos, y esto nos pasa al sentir que nuestro código nunca estará terminado, ya que siempre se le pueden agregar nuevas funcionalidades.

AGREGAR NUEVAS FUNCIONALIDADES

Este punto es una opinión más que nada, ya que cada uno es libre de determinar el alcance de lo que desarrolla, pero aun así es situación más común de lo creemos.

Quizás estás trabajando actualmente en un proyecto para incluir a tu portafolio, y acabas de terminar las funcionalidades básicas que habías determinado para tu proyecto antes de publicarlo en tu repositorio personal, pero, crees que le puedes agregar un nuevo módulo que permitirá que este destaque aún más.

A medida que pasa el tiempo, sigues sin publicar el proyecto, ya que aún consideras que es muy simple, y sigues agregando constantemente nuevas funcionalidades con el fin de mejorarlo todavía más. Si este tu caso, lamento decirte que te obsesionaste con tu desarrollo, los proyectos no necesariamente deben ser muy complejos.

Muchas veces menos, es más, así que te recomiendo que establezcas un límite en las mejoras que deseas agregar y lo publiques, ya que lamentablemente, si este es tu caso, te aseguro que jamás quedarás conforme. Tanto el código como el producto final siempre se puede mejorar, y algo feo que funciona es mucho mejor que algo que nunca ve la luz.

Y está bien, uno siempre tiene ir mejorando sus habilidades y colocándolas en práctica, pero, no te estanques en un solo proyecto, desarrolla otros nuevos donde apliques tus conocimientos y que te sirva para ver tu historial de aprendizaje. Aunque te reitero, eres libre de elegir el alcance de tu proyecto, este es solo un consejo.

Y recuerda, tanto la refactorización como el no quedar conforme con tu código son situaciones totalmente normales en nuestra ruta de aprendizaje como desarrollador, no te sientas mal si algo de esto te ha sucedido, la práctica y la experiencia te ayudarán a mejorar. ¡Sigue desarrollando!


Y esto ha sido todo de este post, si te ha encantado, ¡golpea al botón de me gusta!, dejanos un comentario, y visita nuestra Academia Hola Mundo, donde encontrarás todos los cursos para formarte como un desarrollador o desarrolladora.

Y para no perderte nada, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter e Instagram, y por último, te invitamos a escuchar nuestra música «Hola Beats«, diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, la puedes encontrar en Spotify, Apple Music, Amazon Music, Youtube Music y Deezer.

¡Hasta la próxima!, y chao mundo

Comments (1)

Deja una respuesta

Press ESC to close