Quando richiesto per convertire il codice da una lingua che non conosci, come lo fai? [chiuso]

-1

Scenario:

Il tuo capo ti dice che ha bisogno di una grossa porzione di codice nella lingua X che converte in codice Y. Conosci il codice Y ma sei solo vagamente consapevole di X. Hai solo una quantità limitata di tempo.

Prova a trovare un convertitore di codice? lentamente hack attraverso il codice fino a quando non funziona? esternalizzare? dì che non puoi?

    
posta Dve 21.02.2011 - 11:40
fonte

4 risposte

7

Test-driven.

Idealmente avrai alcuni test che possono testare il codice per quello che fa, indipendentemente dalla lingua in cui è scritto. Assicurati che fornisca una copertura completa.

Quindi assicurati che il tuo nuovo codice superi tutti i test.

Se i test indipendenti dalla lingua non sono un'opzione, il codice converte i test prima di convertire il codice nel codice che stanno testando.

Se il vecchio codice non ha test, scrivine alcuni.

    
risposta data 21.02.2011 - 11:56
fonte
2

In termini di conversione in una lingua diversa, non importa davvero che non abbia mai fermato la mia produttività senza sapere nulla sulla lingua, la sintassi è facilmente traducibile se sei un programmatore competente, ma una trappola è quando converti in una linguaggio diverso potrebbe esserci un modo più efficace di fare qualcosa o il modo in cui hai implementato in una lingua è sbagliato in un'altra.

Per una conversione completa è necessario pensarlo in termini di una reimplementazione non è sufficiente convertire solo il codice, questo è se hai più tempo, non dovresti davvero convertire molto codice se non hai il tempo giusto per reimplementarlo, se è solo un piccolo programma o alcune funzioni, immagino sia corretto.

Dovresti controllare quali caratteristiche ha una lingua prima della conversione, ha la garbage collection? dovrei gestire i miei oggetti da solo? cose come questa.

    
risposta data 21.02.2011 - 12:09
fonte
1

Google

Prenderò ogni processo nel codice Y, capiremo cosa fa e approssimativamente come farlo nel codice X, quindi Google il codice in lingua codice Y + il metodo codice X.

Ad esempio, avevo bisogno di sapere che cosa fosse la traduzione VN IsNumerica in C #, quindi ho cercato su Google solo IsNumeric C#

Tuttavia dipende molto dalle lingue. La conversione da VB a C # è abbastanza semplice rispetto alla conversione da ASP.Net a PHP (ho dovuto fare entrambe le cose)

    
risposta data 21.02.2011 - 16:24
fonte
0

Dipende dalle lingue con le quali stai lavorando, questo potrebbe essere semplicemente questione di trovare fondamentalmente uno strumento online che ti traduce in una complessa attività di riscrittura.

Con ogni probabilità, se stai guardando un enorme blocco di codice che deve essere tradotto, è più probabile che tu stia cercando un'applicazione completa che deve essere riscritta, nel qual caso dovresti usare l'applicazione precedente e il code-based come un riferimento, ma non dovrebbe davvero piacere guidare l'applicazione che stai scrivendo. Esaminare il codice, vedere se ci sono commenti rilevanti in esso relativi alla logica aziendale insolita che potrebbe essere necessario prendere in considerazione, ma oltre a questo è possibile guardare le cose come un nuovo progetto e utilizzare semplicemente l'applicazione precedente come controllo di integrità per assicurarti di aver fatto bene il tuo lavoro durante i test.

Se stai cercando solo di replicare alcune funzionalità e portarlo su un'altra applicazione in una lingua diversa, allora CashCow il consiglio di scrivere casi di test è molto importante. Assicurati di sapere quali sono gli output attesi prima di iniziare a scrivere un nuovo codice e anche di vedere se riesci a capire come si comportano le cose durante i casi limite. Allo stesso modo, assicurati di capire cosa sta facendo il codice in modo da non incontrare più problemi lungo la strada. Allo stesso modo, assicurati che le lingue si traducano bene l'una con l'altra, se stai lavorando con codice dove è richiesta precisione numerica, vuoi assicurarti che il double che stai utilizzando in C # si comporti allo stesso modo del double precision in Fortran che sta sostituendo. In breve, un po 'di tempo in più per effettuare ricerche in anticipo potrebbe farti risparmiare ore di stress a causa di casi di test o errori non verificati dai casi di test che scrivi.

    
risposta data 21.02.2011 - 16:36
fonte

Leggi altre domande sui tag