¿Los proyectos ReactJS / redux son imposibles de mantener una vez que el codificador original se va?

¡No no no no! React y Redux hacen que sea mucho más simple de entender y razonar sobre el código y lo que está haciendo.

La facilidad de mantenimiento del código dependerá principalmente del desarrollador. Trate su código del lado del cliente como código del lado del servidor.

  • Tener estándares y seguirlos
  • Use linting
  • Cree pruebas unitarias, ejecútelas y manténgalas actualizadas

Esto ayudará más que cualquier biblioteca, marco o patrón. Dicho esto, React with Redux es una opción increíble que ayudará a los futuros desarrolladores a comprender y mantener el código.

  • Introduccion | Redux
  • ¿Por qué reaccionar? El | Reaccionar

Actualmente estoy en un proyecto usando Angular 2 con Redux. Estamos utilizando Redux porque simplifica el flujo de datos a través de la aplicación. Esto facilita la administración del estado, lo que hace que sea más fácil depurar y, más adelante, más fácil de mantener.

Depende. Hay algunas cualidades de los proyectos de software exitosos que tienen un gran impacto en qué tan bien se pueden mantener con el tiempo. Muchos de ellos tienen que ver con el desarrollador, pero algunos se refieren a la forma en que su organización gestiona el desarrollo de software.

Soy un gran admirador del libro Code Complete. El autor, Steve McConnell, compartió una lista de razones para el fracaso del proyecto que son aún más aplicables en el mundo de las SPA, donde las pruebas y la documentación son necesarias para garantizar el buen estado de la aplicación.

Para referencia:

Errores clásicos enumerados

Estos son los grandes factores que veo que influyen en la deuda técnica a largo plazo y la capacidad de mantener proyectos después de que las personas clave se van.

  1. Personal Débil. No hace falta decirlo, pero no reemplace un desarrollador React con alguien que conozca JavaScript en general. Encuentre a alguien que conozca la tecnología, incluso si eso significa ir a un reclutador o tomarse unas semanas más para ocupar un puesto.
  2. Heroicos. El progreso constante y constante en un proyecto de software es más valioso que grandes ráfagas de salida. No busques que el nuevo tipo se centre en grandes ráfagas de producción. Encuentre tareas pequeñas e incrementales para que esa persona asuma mientras se pone al día con lo que se ha construido.
  3. Patrocinio efectivo del proyecto. Como propietario de un producto, implemente procesos de planificación y control de cambios realistas desde el principio. Esto incluye pruebas de unidad de escritura / funcional y configuración de documentación. El código no probado es el problema número 1 que veo con los proyectos React, gerentes que no practican buenas pruebas y documentación en el camino.

En mi experiencia, la mantenibilidad de un proyecto tiene menos que ver con sus tecnologías subyacentes y más con la diligencia y la habilidad del equipo que lo escribió. Un equipo de desarrollo experimentado intentará escribir código para que otros desarrolladores lo lean y amplíen. Es probable que vea código con nombres de variables claros, flujo de control obvio, pruebas unitarias y comentarios donde el código puede confundir a un lector.

Puede haber algunos casos en los que las opciones tecnológicas pueden causar problemas de mantenimiento, pero nunca lo he visto, y definitivamente no con ninguna aplicación React / Redux que haya encontrado.

Si el codificador original deja muchos códigos de spaghetti sin documentación (quiero decir que ni siquiera sigue la estructura del código estándar, no hay pruebas unitarias, no hay comentarios, variables extrañas), y el proyecto es bastante grande, entonces es seguro decir que Ya no es mantenible.

Es mejor comenzar desde cero con un mejor desarrollador.

More Interesting

¿A qué edad sería aceptable comenzar a solicitar puestos de desarrollo web front-end?

¿Cuál es el mejor recurso para aprender HTML y CSS y cómo lo aprendiste?

¿Qué es un DTD? ¿Cuál es la relación entre un DOCTYPE y un DTD en HTML?

¿A alguien le importa realmente el 5% de las personas que mantienen JavaScript deshabilitado?

¿Cuál es la forma más fácil de convertir mi sitio web receptivo en una aplicación móvil? ¿Existe una aplicación repetitiva que sea efectivamente un navegador web para un sitio web?

¿Cuáles son las características únicas del diseño de sitios web de viajes?

¿Cuál es el mejor y más estable entorno de desarrollo local de WordPress para Windows?

¿De qué manera ha cambiado el desarrollo web desde la década de 1990 hasta ahora?

¿Es Laravel una opción apropiada para una gran red social?

¿Qué piensan los antiguos alumnos del programa de Desarrollo Web de la Asamblea General y hay otros programas similares en Hong Kong?

En el enlace de datos de JavaScript, ¿por qué usar el atributo de datos en lugar de no solo extender los objetos DOM?

¿Qué pila de desarrollo se usa detrás de JibJab?

¿Cuál es la importancia de aprender el desarrollo web para las ubicaciones en el campus para un chico de TI / CS?

¿Por qué los lenguajes de programación distribuidos (p. Ej., Linda, Orca, Emerald) no se utilizan en la construcción de sistemas distribuidos populares / comunes a pesar de que muchos se propusieron desde los años 80?

¿Cuál es el mejor libro para aprender Python para el desarrollo web con Django (solo un libro)?