desenv-web-rp.com

Manutenção do código legado

Eu tenho uma base de código antiga que ainda "funciona", mas é difícil/quase impossível de manter. Pode ser caro (tempo e dinheiro) atualizá-lo. Eu apenas vou em frente, ou devo continuar a odiar o meu mundo (mas continuo trabalhando em algo que funciona e é relativamente livre de erros)?

5
Jason

Se você vir um futuro em seu site, reescreva-o assim que possível, se não puder ser mantido. Eu mantenho vários sites grandes com mais de 5 anos e, no tempo que passei xingando os problemas estúpidos que surgiram, eu poderia ter reescrito todos eles. Faça um prazer e reescreva-o; é mais divertido criar algo novo também;)

4
D4V360

Tenho certeza de que depende de circunstâncias específicas, mas não se esqueça de levar em consideração o tempo extra que você gasta mantendo a base de código existente versus as despesas de atualizá-la. Sem saber mais detalhes, eu diria que atualizá-lo em vez de lutar com o que você tem.

1
Travis Northcutt

Eu estou em uma situação similar. Minha empresa tem um site legado que faz tudo o que precisa. Além disso, eles têm um site sendo construído por uma empresa externa para substituí-lo com 90% do que eles precisam. Eles esperam que 90% se tornem 110%.

Decidi o seguinte curso de ação:

  • Manter o site herdado até que o novo site seja entregue
  • Integre os recursos extras ao novo site o mais rápido possível
  • Manter o novo site como se não estivesse sendo substituído
  • Quando tudo estiver funcionando, recrie o site e crie um plano de migração
  • Migre para o novo site e esqueça que um desses já existia

Por mais que eu queira simplesmente ignorar os outros dois sites, isso não é uma opção. Independentemente de como eu me sinta, o site que está sendo entregue terá que nos servir por um certo número de meses antes que eu possa tentar substituí-lo. Otimizar, manter e aperfeiçoar será a minha prioridade. Esse site deve funcionar durante sua vida útil. Portanto, a construção do novo site será um projeto durante o tempo em que tudo está funcionando e no meu tempo pessoal quando quero invadir algo. Mas tudo bem, pois gerencia as expectativas de todos. A empresa que espera que esse novo site funcione em um determinado nível terá seu site nesse nível e, ao mesmo tempo, eu o melhorarei ativamente nos bastidores. E, ao mesmo tempo, estarei construindo um substituto que o surpreenderá.

Na minha situação, meu "novo site" (da empresa externa) é a sua base de código herdada, e meu "novo novo site" é o seu "eu-apenas-reconstruí-lo". Acho que minha resposta curta é que, mantendo a base de código herdada para manter o mundo girando, você ainda pode reconstruir.

0
Bryson

Concordo com @ D4V360, há realmente um prazer em escrever algo de novo. Além disso, considere o conceito de "Dívida técnica" de que Jeff e Joel falaram em seus podcasts. Aqui estão alguns links pertinentes sobre o assunto:

  • Steve McConnell (autor do grande livro "Code Compete") sobre Dívida Técnica
  • O mencionado e o nosso próprio Jeff Atwood sobre Dívida técnica
0
Alan