Quale metodologia utilizzare per pianificare / sviluppare un progetto di conversione della lingua?

2

Sto cercando di aiutare il mio amico creando una parte del suo progetto in corso.

Quello che sto per fare è creare un parser Java per suddividere il codice Java in operatori, parametri ecc. per costruire una rappresentazione XML.

Successivamente voglio creare un generatore di codice per convertire il codice java analizzato in XML conforme allo schema che ho creato.

Infine voglio usare un foglio di stile XML per trasformare l'XML in un altro tipo di linguaggio di programmazione.

Fondamentalmente volevo solo qualche consiglio su quale metodologia / modello dovrei usare per pianificare e sviluppare questo progetto. C'è qualche vantaggio nell'utilizzo di Agile etc, per esempio?

    
posta user 123 30.10.2012 - 16:22
fonte

3 risposte

4

Dato che hai chiesto una metodologia, posso darti un suggerimento su questo tipo di progetto di programmazione. Utilizzare i test unitari. Un LOT di test unitari. Dovresti passare diversi test di unità di scrittura mensili.

What I'm going to do is create a Java parser to break up the Java code into operators, parameters etc to build XML representation.

Di per sé, rappresenta almeno una domanda su programmers.SE.

Next I want to create a code generator to convert the parsed java code to XML conforming to the schema I've created.

Di per sé, rappresenta almeno una domanda su programmers.SE.

Finally I want to use an XML style-sheet to transform the XML into another programming language type.

Questo è un libro, non una domanda per programmatori.SE.

    
risposta data 30.10.2012 - 19:00
fonte
0

Invece di usare XML qui, perché non eseguire il reverse engineering della traduzione della lingua dal codice byte. Questo è un formato intermedio molto più flessibile.

Stai attento, quello che stai tentando di fare qui è estremamente difficile.

Di solito è più economico assumere un esperto nella lingua di destinazione per riscrivere il codice. E per questo avrai bisogno di test. Un sacco di test.

    
risposta data 31.10.2012 - 08:55
fonte
0

Come tutte le altre risposte hanno detto, il tuo problema è davvero difficile. Ma dal momento che hai chiesto una metodologia, è più facile rispondere a queste domande.

Prima di tutto, la metodologia che usi dipende molto dall'organizzazione in cui ti trovi. Alcune organizzazioni semplicemente seguono le metodologie di sviluppo a cascata (i.e Military) e non c'è nulla che tu possa fare. Dall'altra parte ci sono organizzazioni che sviluppano solo progetti usando metodologie agili. È necessario tenerne conto prima di prendere qualsiasi decisione.

In secondo luogo, le metodologie agili vengono utilizzate sempre più spesso in questi giorni perché producono prodotti migliori (anche se non ci sono prove scientifiche chiare di questo, la maggior parte dei progetti che sono passati all'agile sono molto felici dopo il cambiamento). Raccomando anche lo sviluppo agile (brevi iterazioni, prodotto funzionante, test automatici, ecc ...). Puoi combinarlo con TDD per ottenere maggiore robustezza, ma non è obbligatorio.

Ultimo, ma non meno importante, anche se stai agendo, devi comunque definire i tuoi requisiti in modo esatto. Agile NON è un sinonimo di non avere requisiti definiti! significa che implementa i requisiti passo dopo passo. Con la complessità di ciò che stai cercando di raggiungere, DEVI definire le tue esigenze molto bene. Se non hai buoni requisiti, il test degli eventi non ti aiuterà (mi dispiace di essermi ripetuto, ma trovo che questo sia un punto molto importante).

E buona fortuna.

    
risposta data 31.10.2012 - 09:57
fonte

Leggi altre domande sui tag