Un approccio migliore al codice refactor quando si esegue il test A / B

1

Mi viene chiesto di refactoring il mio codice componente per supportare test A / B.

Qual è l'approccio migliore:
1) Passa un valore booleano ai metodi e controlla questo flag all'interno del body del metodo?

method(flag abTest):    
    if A_VERSION_ENABLED:
       // Do 'A' logic
    else
       // Do 'B' logic

2) Creare metodi dedicati per ogni versione?

codeForATest()
codeForBTest()
    
posta Chiron 26.06.2013 - 14:59
fonte

1 risposta

1

Dovresti esaminare il Pattern di strategia . Ti permette di scambiare il comportamento di una funzione o di un oggetto al volo usando le interfacce. Specificare come verrà chiamato un metodo, quindi disporre di due o più versioni che implementano tale interfaccia. Quindi, non ti interessa quale dei due usi nel codice tranne che per l'inizializzazione.

    
risposta data 26.06.2013 - 15:23
fonte

Leggi altre domande sui tag