Domanda

Quale conversione/riscrittura sei stato coinvolto con che ha fallito?Quello in cui i linguaggi e framework coinvolti nel processo?Quanto grande è stato il software in questione?Infine, qual è la parte superiore di uno o due cosa avete imparato da essere coinvolti con il processo.

Questo è legato a questo domanda.

È stato utile?

Soluzione

Uno dei miei preferiti era un progetto di prezzo fisso sviluppando un'applicazione server su Sun OS 3, che finalmente è stato necessario per funzionare su una vecchia macchina i dati generali l'uso di alcuni (al momento) versione corrente di Unix.

Ora, sapevamo in anticipo che sarebbe stato doloroso il porting del codice C per dati generali perché aveva 9 byte bit / 36 bit parole, ma non sapevamo come ... manca ... l'attuazione Unix sarebbe .

E 'stato di circa 5 ore dall'inizio del compito di porting, quando è stata presa la decisione esecutiva consigliabile acquistare semplicemente il cliente un lucido nuova casella solarium.

Altri suggerimenti

Ho avuto uno di recente che in gran parte non è riuscita a causa della mia incapacità di fondo convincere la gestione che la riscrittura dell'applicazione potrebbe essere più conveniente nel lungo periodo, che per mantenere il mantenimento di esso.Se dovessi leggere solo sul debito tecnico prima, potrebbe essere stato un successo.Jeff ultimo articolo sull'argomento è stata di circa 8 mesi, troppo tardi per me!

Il tutto raccontato l'app è stata di circa 75K linee di codice C#, ma è stato un incubo nella manutenzione (in-house applicazione).Una manciata di dio classi e il resto che è quello che ho chiamato il burattino classi (classi solo per nome, il dio classi "tirato le corde" per tutto quello che hanno fatto).Quasi nulla è stato configurabile dall'utente in modo che gli sviluppatori sono responsabili di tutto ciò.

Col senno di poi, il più grande ostacolo al successo è stata la stessa app.Mantenere in esecuzione è stato un lavoro a tempo pieno per 3 di noi.Penso che la cosa migliore che abbiamo potuto fare è stato quello di mantenere il refactoring.La "versione 2" app avuto qualche buona concetti e abbiamo dovuto tenere su cercando di ottenere integrata, invece di ricominciare...L'avessimo fatto, avremmo potuto costruire grandi componenti dopo la stabilizzazione dell'applicazione originale.

Una volta ho tentato di porta di un gioco che ho scritto in DarkBasic a C.

Il problema che ho incontrato è stato che DarkBasic era una lingua così limitato (ad esempio, nessun argomento passaggio per riferimento), quando ho portato che ho tentato di fare una porta dritto ... IE, ho cercato di non refactoring in modo appropriato per la lingua stavo usando ...

Il risultato è stato un gran casino ...

Io probabilmente potuto ottenere farlo funzionare, ma mi sono fermato dopo circa 2 giorni perché mi sono reso conto che aveva bisogno di più di una semplice traduzione di passare a C ...

avevo scritto un clone di Pacman utilizzando C e Allegro di nuovo nel corso della giornata e ho provato a riscriverlo per funzionare su Dreamcast.

E 'stato un po' di codice orribile. Non potevo davvero salvare molto dalla base di codice e scartato l'idea.

Ho imparato che, indipendentemente da quello che ho pensato in quel momento, ero un programmatore veramente orribile allora e avevo imparato molto negli anni che passano. Inoltre mi ha fatto capire che nel giro di pochi anni, dovrei imparare abbastanza per guardare indietro sul codice che stavo scrivendo oggi e pensare la stessa cosa. In sostanza, dovrei sempre cercare di diventare migliore.

Mi è stato chiesto una volta per convertire un programma che ha guidato una foto typsetter su un DEC-System10 per IBM 4381 Guardando il codice, ho scoperto che lo sviluppatore originale aveva, senza una ragione evidente, scritto vari pezzi del programma in il seguente lingue diverse:

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

Questa è stata una grande testimonianza al supporto della DEC per la programmazione multi-lingua, ma era l'unica volta che ho dovuto andare a un utente e dire "No può fare".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top