Pregunta

¿Qué conversión A / reescribir ha estado involucrado con eso falló? Lo que donde las lenguas y el marco involucrados en el proceso? ¿Qué tan grande era el software en cuestión? Finalmente lo que es la parte superior de uno o dos lo que ha aprendido de estar involucrado en el proceso.

Esto está relacionado con esta cuestión .

¿Fue útil?

Solución

Uno de mis favoritos fue un proyecto de precio fijo el desarrollo de una aplicación de servidor en Sun OS 3 que con el tiempo se requiere para ejecutar en una vieja máquina de Data General la ejecución de algunos (en ese momento) versión actual de Unix.

Ahora, sabíamos de antemano que sería doloroso portar el código C para los datos generales porque tenía 9 bytes de bits / palabras de 36 bits, pero no se dio cuenta ... ... que carecen de la implementación Unix sería .

Se fue de aproximadamente 5 horas desde el inicio de la tarea de portar cuando se tomó la decisión ejecutiva aconsejable comprar simplemente al cliente un nuevo cuadro de sol brillante.

Otros consejos

Yo tenía una gran parte recientemente que fracasó debido a mi incapacidad para convencer a fondo de gestión que volver a escribir la aplicación sería más barato en el largo plazo que para mantener su mantenimiento como estaba. Si sólo había leído sobre la deuda técnica antes, puede haber sido un éxito. último artículo de Jeff sobre el tema fue aproximadamente 8 meses demasiado tarde para mí!

En total la aplicación fue de alrededor de 75 mil líneas de código C #, pero era (aplicación interna) en una pesadilla de mantenimiento. Un puñado de clases Dios y el resto eran lo que yo llamaba clases de marionetas (clases por nombre solamente, las clases dios "movía los hilos" por todo lo que hicieron). Casi nada era configurable por el usuario para que los desarrolladores se encargaron de todo.

En retrospectiva, el mayor obstáculo para el éxito fue la propia aplicación. Manteniendo la corriente era un trabajo a tiempo completo para 3 de nosotros. Creo que lo mejor que podría haber hecho era seguir refactorización. La aplicación "versión 2" tuvo algunos buenos conceptos reales y que debería haber mantenido en tratar de conseguir que se integren en lugar de empezar de nuevo ... Si hubiéramos hecho eso, podríamos haber construido los grandes componentes después de la estabilización de la aplicación original.

Una vez trató de puerto de un juego que escribí en DarkBasic a C.

El problema que encontré fue que DarkBasic era una lengua tan limitado (por ejemplo, ningún argumento que pasa por referencia) cuando portado lo que intentó hacer un puerto recta ... IE, yo trataba de no refactorearlo apropiadamente para el idioma que estaba usando ...

El resultado fue un gran lío ...

Probablemente podría haber conseguido que funcione, pero se detuvo al cabo de 2 días, porque me di cuenta de que necesitaba algo más que la traducción a moverse a C ...

Yo había escrito un clon de Pacman usando C y Allegro en su día y traté de volver a escribir para que se ejecute en la Dreamcast.

Eso fue algo de código horrible. Realmente no podía rescatar mucho de la base de código y desechado la idea.

He aprendido que independientemente de lo que pensé en ese momento, yo era un programador realmente horrible en ese entonces y que había aprendido mucho en los años que pasan. También me hizo comprender que dentro de unos años, que debería aprender lo suficiente como para mirar hacia atrás en el código estaba escribiendo hoy y pensar lo mismo. Básicamente, siempre debe esforzarse por ser mejores.

Una vez me preguntaron para convertir un programa que conducía un typsetter foto en un DEC-sistema 10 a IBM 4381. Si examina el código, descubrí que el desarrollador original tenía, sin razón aparente, escrito varios bits del programa de los siguientes idiomas diferentes:

  • diciembre FORTRAN
  • Algol 68
  • BCPL
  • MACRO-10

Este fue un gran testimonio de apoyo de DEC para la programación multi-idioma, pero fue la única vez que he tenido que ir a un usuario y decir "No se puede hacer".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top