Abbiamo un nuovo sviluppatore nel nostro team. Sembra essere un ragazzo intelligente (è appena entrato quindi non posso davvero giudicare). Ha iniziato implementando alcuni piccoli miglioramenti sul progetto (applicazione web MVC3 che utilizza Javascript con jQuery e Knockout ).
Diciamo che abbiamo due valori:
A - quite complex calculation
C - constant
B = A + C
Sullo schermo c'è il valore B e l'utente può cambiarlo (normale texbox). Quando B cambia, anche A cambia perché C è costante. Quindi esiste una dipendenza lineare tra A e B.
Ora, tutti i calcoli sono fatti nel back-end, ma dobbiamo ricalcolare A come utente cambia B (in Javascript, userei knockout). Ho pensato di memorizzare i vecchi A e B e quando B cambia di 10, allora sappiamo che il nuovo A sarà old A + 10
. Dice che questo è sporco, perché è duplicazione del codice (ci avvaliamo del fatto che sono dipendenti e secondo lui dovrebbe essere solo in un posto nella nostra app). Capisco che non è l'ideale, ma fare richiesta AJAX dopo ogni pressione di tasto sembra un po 'troppo.
È una cosa davvero piccola e non pubblicherei se non abbiamo avuto una lunga discussione al riguardo.
Come gestisci questi problemi? Inoltre, posso immaginare che l'utilizzo del knockout implichi molti calcoli sul lato client, il che porta molto spesso alla duplicazione degli stessi calcoli dal back-end. Qualcuno ha dei link ad alcuni articoli / pensieri su questo argomento?