Come posso inserire più moduli gerarchici in una singola pagina Web ed evitare di creare problemi?

2

Siamo un gruppo di sviluppatori che lavorano su un'applicazione web che accetta moduli compilati e inviati dai nostri utenti e li presenta in una vista d'insieme. La nostra vista modulo principale ha il seguente aspetto:

Cisonopiùmoduliinquestapagina.Ilmoduloasinistraèlaformagenitorechecontienedomandegeneralisulprogetto.Ipannelligiustisonodomandepiùdettagliateeriguardanoisotto-progetti.Leformesonolungheecontengonodiversitipidiproprietà(elementidelmodulo)inesse.Laformagenitoreèstaticaevieneapertaalcaricamentodellapagina.Nonabbiamodatoopzioniperchiuderloominimizzarlo.Ipannellididestra(modulifiglio)vengonocompressiperimpostazionepredefinitaeapertipercliceilcontenutovienequindisottopostoarendering.Questoèfattoperridurreiltempodicaricamentodellapagina.Hoannotatol'immaginequindinondevospiegaretuttodasolo.Tuttonellafotochehaunrettangoloattornoèunavista(Backbone)dasolo.Perrenderloancorapiùcomplesso,guardaquest'altraimmagine: Guarda la vista del cursore foto. Ogni diapositiva in quel cursore è di nuovo, una vista da sola. I pulsanti di manipolazione sono renderizzati insieme ad ogni diapositiva, quindi spostarli da qualche altra parte (come ad esempio accanto ai pulsanti "sposta a sinistra / destra") è un bel problema. Questo è il motivo per cui non l'abbiamo fatto. Ora guarda i campi del form del bambino grande che ho contrassegnato come "proprietà con relazioni". Se li si cambia, diventano evidenziati (con un colore giallo cavo attorno a loro) e questo cambia molte altre cose nel "modulo figlio" e nel "modulo padre". Abbiamo gestito questo tipo di relazione quando salviamo la pagina, ma questo tipo di relazione si aggiunge alla complessità della vista.

Suppongo che tu l'abbia già capito, ma lo dirò comunque: il codice è cresciuto in modo anomalo. È davvero una lattina di vermi. Ci sono più di 30 funzioni nel file di visualizzazione di base e 15 altre viste allegate a questa pagina. Molte persone hanno lavorato su questa vista e poiché si tratta di un file di grandi dimensioni (file di base: 2500 LOC), tutti hanno appena provato a svolgere il proprio compito e non pensare al refactoring o alla semplificazione del design della pagina. La pagina è difettosa perché non è estensibile. Ad esempio, le forme grand-child hanno altri due livelli di forme figlio e non possiamo aggiungerle alla pagina. Abbiamo discusso per giorni su come ridisegnare questa pagina, ma nessuno di noi sembra avere una buona idea.

Ora la domanda qui è come possiamo riprogettare questa pagina in modo che mantenga tutte le funzionalità ma con un codice molto più semplice?

Siamo OK con una riprogettazione totale, un concetto totalmente nuovo. Vogliamo scrivere tutto da zero. Tutte le tue idee sono apprezzate.

    
posta hamid 03.09.2014 - 08:26
fonte

0 risposte

Leggi altre domande sui tag