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)?
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;)
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.
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:
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.
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: