Avere quel problema con una libreria personalizzata.
Prova ad usare concetti globali, che si applicano a diversi linguaggi di programmazione, e crea documentazione per questo. Se esiste un concetto nel tuo linguaggio di programmazione originale, ma non nel secondo, trova un concetto alternativo.
Crea un design (UML) del tuo codice sorgente (originale e di prima programmazione), così com'è, senza rimuovere bug correnti, senza aggiungere enhacements , proprio come è il codice.
Per progettazione, intendo, documenta i tuoi spazi dei nomi, le classi, le funzioni globali, le variabili, ecc.
Quindi, crea una nuova versione del tuo progetto, copiando l'originale. Prova a migrare il tuo codice sorgente della prima lingua sul secondo codice sorgente del linguaggio di programmazione. (Esempio: C ++, Java)
Se devi apportare modifiche al nuovo codice sorgente come nuove classi o nuovi metodi,
potrebbe essere necessario documentarlo e modificare il codice sorgente con il primo linguaggio di programmazione.
Il seguente esempio di mondo reale vale la pena di leggere, forse non applicarlo.
Esempio:
Il mio primo codice sorgente di programmazione (Dephi) usa proprietà.
Nel mio secondo codice sorgente di programmazione (C ++), le proprietà non esistono.
Ho documentato in un U.M.L. che i miei clases hanno proprietà.
Cambio il codice sorgente del secondo linguaggio di programmazione (C ++), aggiungo nuovi metodi virtuali ("getProperty", "setProperty"), che mi consentono di emulare le proprietà.
Aggiorna la documentazione, quindi i nuovi metodi virtuali sono inclusi.
Aggiorna il primo linguaggio di programmazione, quindi include i nuovi metodi virtuali.
Quindi, passo a un terzo linguaggio di programmazione (C #). Aspettare. Uso le biblioteche globali con variabili globali e metodi globali. C # non ha quei concetti. Ma, posso usare le classi statiche o il modello singleton.
Emulo le librerie con il modello singleton. E può essere fatto, nelle lingue precedenti. Quindi documento le modifiche e sostituisco il codice delle biblioteche, nella prima e nella seconda lingua con il modello singleton.
Ora, il mio codice funziona in 3 lingue simili, ma non uguali. La documentazione mi aiuta a apportare modifiche, aggiungere enhacement, correggere bug su tutti loro.
Ripeti il processo, con altri linguaggi di programmazione.
È complicato, ma è fatto nel mondo reale.