¿Cuál es la deuda técnica y puede evitarla?

Si está en el desarrollo de software, deberá hacer frente a las deudas técnicas a la vez. Entonces, para responder a la pregunta del título … no, no puedes evitarlo. Sin embargo, hay pasos que puede tomar para minimizar sus efectos y asegurarse de que no se salga de control. Al menos tan mal. ¿Cuál es la deuda técnica? La deuda tecnológica, como a veces se le llama, es esencialmente el costo que soporta con el tiempo para tener un código imperfecto. Los cambios y las actualizaciones del código fuente tienen un costo, además de agregar un nuevo miembro al equipo de desarrolladores, agregando una nueva característica o errores de reparación y exploits de corrección.
A medida que su proyecto se extiende, la base de bacalao se extiende y más personas trabajan en ese código, sus voces y estilos chocarán aquí y allá. Tal vez tenga una fecha límite y se ingresa una solución menos ideal en el código fuente para completar a tiempo. Tal vez agregue un componente de código abierto que no comprenda por completo para administrar una función en lugar de codificarla usted mismo. O puede cambiar las bibliotecas entre versiones (desde la columna vertebral hasta la reaccionamiento, por ejemplo), pero aún tiene que apoyar a las personas que usan la base de código heredado para sus proyectos. Absolutamente ninguna de estas cosas es mala. No por tu cuenta. Tal vez en absoluto. Pero, cuando se agregan, la deuda técnica que apoyan deberá ser reembolsada en algún momento en el futuro.
En un momento, puede ser necesario reemplazar (o bifurc) el componente de código abierto. Eso costará tiempo y dinero. En un futuro lejano, deberá eliminar todo el código de la red troncal del proyecto y dejar de admitir usuarios antiguos. De nuevo, tiempo y dinero. El parche que hiciste para cumplir con un término? Bueno, al final se cancelará y necesitará una solución más permanente. Tiempo y dinero. Y tendrá nuevos miembros de su equipo que regresan a través del código anterior para hacer todo esto, teniendo que comprender el código y la lógica de los desarrolladores anteriores. Tiempo. Dinero. Lo comprende. Si bien la deuda técnica es un término abstracto, a menudo metafóricamente, el costo de la deuda técnica es muy real. Su reembolso tiene un valor monetario y puede rastrear los intereses que paga por las horas de trabajo y los pagos de pago. Puede verlo en el resultado final del desarrollo de todo el software. ¿Puedes evitar la deuda técnica? Como dije … en realidad no, no. Acumulará deudas técnicas en cada proyecto que escriba si alguna vez regresa al código después de su lanzamiento. Sin embargo, si desglosa los tipos de deudas técnicas, puede minimizar e incluso tener en cuenta sus proyectos. Si considera la deuda de antemano, es diferente a contratar un préstamo para automóvil o un préstamo hipotecario. Mire el costo, los intereses y los beneficios y luego decida si puede / desea pagarlo.
Echemos un vistazo a algunos de los ejemplos que discutimos anteriormente y veamos si hay una manera de evitar, minimizar o absorber el costo. Teniendo en cuenta la deuda técnica con el propósito cuando decimos deudas técnicas previstas, lo que queremos decir es que su equipo ha tomado decisiones que sabe que no encajan en las llamadas buenas prácticas, ni para el idioma ni para el tipo de proyecto en que trabajas. Mencioné anteriormente que puede tener una fecha límite para la realización. Y tal vez este término sea duro y rápido. Puede haber un 0% de posibilidades de que se cambie o se mueva. Este es el momento en que debe considerar contratar un préstamo y la entrada en deudas técnicas. Realmente tienes tres opciones aquí:
Mostrar software que es inacabado y erróneo, pero no hace concesiones para la claridad y la lógica del código
Dibuje características que no pueda mejorar, pero lanza lo que tiene, como mejor escrito
Tome decisiones de desarrollo que transmitan un código “lo suficientemente bueno” para poner todo en funcionamiento, pero probablemente se abordarán nuevamente más tarde.
La tercera opción aquí es a menudo la única que la gente elige. Esto conduce a deudas técnicas. Y no hay nada de malo en eso. Porque tomaste la decisión de hacerlo.
Reembolso de préstamo a una deuda intencional Asegúrese de documentar las decisiones detrás de la elección de viajar esta ruta en su código. Mantenga las calificaciones sobre lo que ha hecho con la solución ideal. Y asegúrese de incluir al menos un tipo de comentario en el código fuente para indicar dónde se toma esta deuda (y, si sabe, los sistemas afectados de otras áreas del proyecto). Si no da este paso, agregar al proyecto (incluso en los remedios de errores y correcciones, sin mencionar nuevas características o una base de código extendida) puede retrasarse terriblemente al encontrar una solución de parche cuando se espera en una solución completa. Nuevamente, esta solución de mosaico podría ser perfecta y nunca le dará problemas reales. Pero la deuda técnica todavía está allí y debe tenerse en cuenta.
Teniendo en cuenta las deudas técnicas del código anterior, otro tipo de deuda técnica ordinaria es la que WordPress ahora acumula. WordPress puede ejecutarse en PHP 5.x. Sin embargo, la actualización más reciente le dirá a los usuarios que debe ser al menos PHP 5.6. A finales de 2019, WP Core requerirá PHP 7.x. Sin embargo, al impulsar los requisitos, se deben actualizar muchos códigos antiguos. Porque todavía hay código PHP 5.x en complementos, temas y núcleos en sí.
Sin mencionar el nuevo editor de bloques. Está escrito en JavaScript. Reaccionar, específicamente. Eso no es nada cerca de PHP. De hecho, gran parte del núcleo de WordPress se reescribe en JavaScript, lentamente. Pero todos estos JS deben complementar y comprender con PHP. Asumir nuevas tecnologías es excelente y es necesario adoptar nuevos requisitos de versión. Pero al hacer esto, pague intereses por la inevitable deuda técnica que tiene debido a ese software existente durante algún tiempo. El reembolso de las deudas del antiguo código es un poco duro porque no hay una excelente manera de hacerlo. Puede elegir la opción nuclear y hacer una reescritura completa desde el final en el nuevo idioma / marco / versión (mira lo que hicimos entre Div 2 y Div 3.0, yendo de Backbone.js a Reaccion). Sin embargo, esto no resuelve completamente el problema de la deuda, sin embargo, porque todavía tiene personas que usan la antigua biblioteca. En un momento, tendrá que renunciar al soporte para la base de código heredado. Que se asemeja al reembolso del préstamo. Hasta que tengas que obtener el próximo.
Si esta no es una opción (o la mejor idea para usted), puede asegurarse de no confiar en el lenguaje o las versiones. Los desarrolladores front-end deben lidiar con esto todo el tiempo, ya que algunos navegadores aceptan rápidamente nuevas funciones, mientras que otros (Microsoft Edge / IE, Tos) pueden nunca adoptarlo. Puede demostrar sus proyectos en el futuro, respetando los elementos básicos, lo que, a su vez, hará el número de cambios a abordarse en la actualización o restauración de menos de lo contrario. Considerar más desarrolladores con el tiempo es un tipo de deuda tecnológica que los grandes equipos tienden a acumularse con el tiempo que los pequeños equipos de desarrollo. Aunque incluso los pequeños tienen que preocuparse. Consulte, cada ingeniero de software escribe un código diferente. Muy raramente tendrá dos desarrolladores que resuelven el mismo problema con exactamente el mismo código. Pueden realizar la misma función, y el resultado final podría ser el mismo, pero el código se escribirá en la voz del autor (como se puede decir quién escribió publicaciones aquí, por ejemplo, como Jason, Nathan, DonJets y yo tenemos distintos estilos). El código no es diferente.

Dado esto, la lógica a veces puede tener diferentes voces. Lo que un desarrollador cree que está perfectamente claro, otro desarrollador se verá y no tiene idea de por qué el código hace lo que hace. Este problema es realmente problemático cuando el autor original ya no está disponible para consulta. La deuda técnica acumulada por ella puede ser catastrófica. Pero hay formas de resolver. Reembolso de deudas técnicas de dispositivos antiguos La forma más fácil es contratar a los mejores desarrolladores posibles y nunca dejar que abandonen su empresa. Debido a que esto no sucederá aproximadamente el 100% del tiempo, el reembolso de esta deuda puede ser un poco más fácil de lo que piensas. En primer lugar, asegúrese de entrenar a su equipo de desarrolladores para que comente su código. Y para comentar bien. Cada vez que tomo una decisión que alguien más podría considerar incluso la distancia ambigua, pídales que escriban por qué lo hicieron y cómo funciona la función. Además, asegúrese de que cada desarrollador en su equipo respete una guía de estilo o un conjunto de estándares. WordPress Core tiene un conjunto de estándares de codificación que mantendrán complementos, temas y contribuciones centrales en línea, por lo que cualquiera que venga más tarde no tendrá problemas con él. Airbnb tiene una guía de estilo para React, que se ha adoptado como un estándar no oficial.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Biblioteca Divi: explorarea posibilităților de sincronizare selectivă a bibliotecii Divi

Biblioteca Divi: explorarea posibilităților de sincronizare selectivă a bibliotecii Divi

Leave a Reply

Your email address will not be published. Required fields are marked *