2010-03-21 13 views
6

Mi equipo y soporte una gran cantidad de aplicaciones heredadas, todas las cuales son actualmente funcionales pero problemáticas de mantener y mantener. Todos ellos dependen del código que la fabricación del compilador oficialmente no tiene soporte.Código heredado: cuándo avanzar

Entonces, ¿la pregunta es si debemos dejar el código tal como está, y arriesgarnos a que un nuevo compilador nos rompa el código, o debemos morder la viñeta y actualizar todo el código?

+4

Si tiene que mantenerlo, le sugiero encarecidamente que elija el libro Working Effectively with Legacy Code. Es excelente. http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052 – TrueWill

+0

Ya tengo esto: tienes razón, es excelente. – Mmarquee

Respuesta

3

La respuesta depende totalmente de los recursos que su empleador (o usted mismo) puede pagar para refacturar (o incluso reescribir partes grandes por completo).

Por lo tanto, primero debe estimar la cantidad de tiempo/desarrolladores que puede permitirse refaccionar la aplicación, y luego ver si cree que será suficiente.

Si puede permitirse tiempo y gente, ¡hágalo, no lo dude! Está invirtiendo en el futuro al reducir el tiempo de depuración de la aplicación, por lo que será útil y menos costoso una vez que se haya completado la refabricación.

1

Depende de la naturaleza de las aplicaciones, qué tan grandes e importantes son, así como la cultura de programación en su lugar de trabajo, y los recursos disponibles para usted.

Si las aplicaciones son lo suficientemente valiosas para usted que valen la pena, y tiene los recursos necesarios, haga la actualización. No dejes que el problema persista.

Si no son lo suficientemente valiosos como para valer la pena un esfuerzo de actualización a gran escala, o los recursos apropiados no están disponibles, quizás trabaje en la actualización de uno en uno si es posible.

Solo algunas sugerencias, pero de nuevo esto depende en gran medida de usted y su organización.

1

Parece que tiene una gran deuda técnica. Esta deuda solo va a aumentar a menos que haga algo. Ambas cosas que mencionas son opciones y riesgosas, pero a largo plazo es un riesgo que debes tomar.

El uso de un compilador actualizado solo significa que necesita actualizar el código para trabajar en el nuevo compilador. Algo está destinado a romperse, pero luego refactorizar las partes que se rompen. Esto le permite migrar.

La otra opción es actualizar toda la base de códigos. Esto lleva tiempo, durante el cual necesita mantener 2 copias del código o congelar la versión anterior. Congelar la versión anterior probablemente no sea una opción.

Recomendaría usar un compilador actualizado y corregir qué se rompe. Esto le permite agregar características, mientras refactoriza y repara la base de código actual.

0

Reescribiendo el código puede ser un paso útil para su empresa, por muchas razones:

  • puede utilizar un nuevo compilador y una plataforma más reciente
  • puede refactorizar el código de eliminar sus debilidades
  • puede motivar a su gente porque desarrollar código nuevo es mejor que corregir errores en uno antiguo.

¿Por qué no comienza esa actividad con un pequeño número de personas, comenzando con las partes más comunes del código? Puede agruparlos en un dll y usarlos también para proyectos futuros.

Cuestiones relacionadas