Devo implementare una specifica offuscata letteralmente?

3

Ho il compito di implementare una specifica per un semplice sistema di shopping simulato. Lo spec tuttavia usa dappertutto le abbreviazioni sconosciute (ha una tabella lunga di 2 pagine delle abbreviazioni senza senso). Ad esempio contiene linee come questa:

Each potential VG has a AL of VGI's.

Quando si sostituiscono le abbreviazioni usando la tabella delle abbreviazioni si ottiene qualcosa che non è molto migliore:

Each potential value generator has an acquisition list of value generating items.

Attraverso molte operazioni di scavo e traduzione, decifro questo in:

Each customer has a shopping cart containing a set of products.

Questo potrebbe essere implementato in 2 modi:

class VG {
    private List<VGI> AL {get;} = new List<VGI>();
}

class ShoppingCart {
    private List<Product> Products {get;} = new List<Product>();
}

Va bene per me scrivere il codice nella versione leggibile? Questo renderebbe il codice leggibile alle future vittime di questo progetto, ma scollegerebbe totalmente le specifiche dal codice reale?

    
posta EpicSam 01.10.2016 - 01:55
fonte

3 risposte

3

Implementa la versione leggibile e genera (automaticamente, se possibile) la documentazione che riporta i tuoi termini ai termini della specifica. Per i punti bonus, includi le specifiche nella documentazione generata. Con fortuna, le specifiche potrebbero essere mantenute in parallelo con il codice sorgente.

    
risposta data 01.10.2016 - 02:53
fonte
2

Each potential VG (value generator) has a AL (acquisition list) of VGI's (value generating items).

In plain English, this means that each customer has a shopping cart containing a set of products.

    
risposta data 01.10.2016 - 02:31
fonte
2

Ciò che jose_castro_arnaud ha menzionato nella sua risposta (che collega i termini umani leggibili e specifici delle specifiche) è una forma di Requisiti di tracciabilità , un concetto di ingegneria del software di base. Puoi anche scrivere un dizionario dei dati che collega i termini così come sono letteralmente trovati nelle specifiche con i termini che hai scelto di utilizzare per svolgere questa o una funzione simile. Il risultato finale sarà simile in ogni caso - fornendo ai futuri manutentori un modo per abbinare (1..1) i termini del tuo codice con i termini della specifica.

    
risposta data 01.10.2016 - 05:18
fonte

Leggi altre domande sui tag