it-swarm-es.com

Mantener código heredado

Tengo una vieja base de código que todavía "funciona" pero es difícil/casi imposible de mantener. Puede ser costoso (tiempo y dinero) actualizarlo. ¿Lo hago o debo seguir odiando a mi mundo (pero seguir trabajando en algo que funcione y esté relativamente libre de errores)?

5
Jason

Si ve un futuro en su sitio, vuelva a escribirlo lo antes posible si no se puede mantener. Mantengo varios sitios grandes de más de 5 años y en el tiempo que he pasado maldiciendo sobre los estúpidos problemas que surgieron, podría haberlos reescrito todos. Hazte un placer y reescríbelo, también es más divertido construir algo nuevo;)

4
D4V360

Estoy seguro de que depende de las circunstancias específicas, pero asegúrese de tener en cuenta el tiempo adicional que tiene que dedicar a mantener su base de código existente frente al costo de actualizarla. Sin saber más detalles, diría que actualícelo en lugar de luchar con lo que tiene.

1
Travis Northcutt

Estoy en una situación similar. Mi empresa tiene su sitio web heredado que hace todo lo que necesitan. Además, tienen un sitio web creado por una compañía externa para reemplazarlo que hace el 90% de lo que necesitan. Esperan que el 90% se convierta en 110%.

He decidido el siguiente curso de acción:

  • Mantener el sitio web heredado hasta que se entregue el nuevo sitio
  • Obtenga las funciones adicionales integradas en el nuevo sitio lo más rápido posible
  • Mantener el nuevo sitio web como si no fuera reemplazado
  • Una vez que todo esté en funcionamiento, reconstruya el sitio y cree un plan de migración
  • Migre al nuevo sitio nuevo y olvide que cualquiera de esos viejos existió alguna vez

Por mucho que me gustaría ignorar los otros dos sitios, esa no es una opción. Independientemente de cómo me sienta al respecto, el sitio que se está entregando tendrá que servirnos durante un cierto número de meses antes de que incluso pueda intentar reemplazarlo. Optimizar, mantener y mejorarlo será mi prioridad. Ese sitio debe funcionar durante su vida útil. Por lo tanto, construir el nuevo sitio nuevo será un proyecto durante esos momentos en que todo está funcionando y en mi tiempo personal cuando quiero piratear algo. Pero está bien, ya que maneja las expectativas de todos. La compañía que espera que este nuevo sitio funcione a un cierto nivel tendrá su sitio funcionando a ese nivel, y al mismo tiempo lo mejoraré activamente detrás de escena. Y al mismo tiempo nuevamente, estaré construyendo un reemplazo que lo dejará boquiabierto.

En mi situación, mi "nuevo sitio" (de la compañía externa) es su base de código heredada, y mi "nuevo sitio nuevo" es su debería-yo-solo-reconstruirlo. Así que supongo que mi respuesta breve es que si bien se mantiene la base de código heredada para mantener el mundo en movimiento, aún se puede reconstruir.

0
Bryson

Estoy de acuerdo con @ D4V360, de hecho es un placer escribir algo nuevo. Además, considere el concepto de "Deuda técnica" del que Jeff y Joel han hablado en sus podcasts. Aquí hay algunos enlaces pertinentes sobre el tema:

  • Steve McConnell (autor del gran libro "Code Compete") sobre Deuda técnica
  • Lo mencionado y nuestro propio Jeff Atwood en Deuda Técnica
0
Alan