Pergunta

O que a conversão / reescrever você esteve envolvido com que falhou? O que, onde os idiomas e estrutura envolvidos no processo? Quão grande foi o software em questão? Finalmente o que é a de cima ou dois coisa que você aprendeu de estar envolvido com o processo.

Isto está relacionado com esta questão .

Foi útil?

Solução

Um dos meus favoritos foi um projeto de preço fixo desenvolvendo um aplicativo de servidor no Sun OS 3, que acabou por ser necessário para executar em uma velha máquina de dados gerais rodando alguma versão (na época) atual do Unix.

Agora, sabíamos de antemão que seria doloroso portar o código C para a Data General, porque tinha 9 bytes bit / 36 bit palavras, mas não percebo como ... falta ... a implementação Unix seria .

Foi cerca de 5 horas a partir do início da tarefa portar quando a decisão do executivo sábio foi feito para simplesmente comprar ao cliente uma nova caixa brilhante do Sol.

Outras dicas

Eu tinha um recentemente que em grande parte falhou devido a minha incapacidade de convencer completamente de gestão que reescrever o aplicativo seria mais barato a longo prazo do que para manter mantê-lo como era. Se eu tivesse ler sobre dívida técnica, mais cedo, que pode ter sido um sucesso. mais recente artigo de Jeff sobre o tema foi sobre 8 meses tarde demais para mim!

Tudo dito o aplicativo estava prestes 75k linhas de código C #, mas era (aplicação in-house) um pesadelo de manutenção. Um punhado de classes de Deus eo resto eram o que eu chamadas classes fantoches (aulas apenas pelo nome, as classes deus "puxou as cordas" para tudo o que fez). Quase nada foi desenvolvedores para configuráveis ??pelo usuário foram responsáveis ??por tudo.

Em retrospectiva, o maior obstáculo para o sucesso foi o aplicativo em si. Mantê-lo funcionando era um trabalho de tempo integral para 3 de nós. Eu acho que a melhor coisa que poderia ter feito era manter na refatoração. A "versão 2" app teve alguns bons reais conceitos e devemos ter mantido na tentativa de levá-los integrados em vez de começar de novo ... Se tivéssemos feito isso, poderíamos ter construído os grandes componentes após ter estabilizado o aplicativo origem.

Uma vez eu tentou porta um jogo que eu escrevi em DarkBasic para C.

O problema que eu tive foi que DarkBasic era uma língua tão limitado (por exemplo, nenhum argumento passando por referência) quando eu portado que eu tentava fazer uma porta reta ... IE, eu tentei não refatorar-lo adequadamente para a língua que eu estava usando ...

O resultado foi uma grande confusão ...

Eu provavelmente poderia ter começado a trabalhar, mas eu parei depois de cerca de 2 dias, porque eu percebi que precisava de mais do que a tradução só para passar para C ...

Eu tinha escrito um clone Pacman usando C e Allegro volta no dia e tentei reescrevê-lo para ser executado no Dreamcast.

Isso foi algum código horrível. Eu não poderia realmente salvar tanto a partir da base de código e desistiu da idéia.

Eu aprendi que, independentemente do que eu pensava na época, eu era um programador realmente horrível naquela época e eu tinha aprendido muito nos anos que passam. Ele também me fez perceber que em poucos anos, eu deveria aprender o suficiente para olhar para trás sobre o código que eu estava escrevendo hoje e acho que a mesma coisa. Basicamente, eu deve sempre se esforçar para se tornar melhor.

Eu estava certa vez perguntou para converter um programa que dirigia um typsetter foto em um DEC-System10 para IBM 4381. Olhando para o código, eu descobri que o desenvolvedor original tinha, sem nenhum motivo aparente, escrito vários pedaços do programa em a diferentes línguas seguintes:

  • dezembro Fortran
  • Algol 68
  • BCPL
  • MACRO-10

Este foi um grande testemunho de apoio da DEC para a programação multi-linguagem, mas foi a única vez que eu tinha que ir para um usuário e dizer "não pode fazer".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top