Quali progetti di programmazione portano a più problemi?

-1

Come nuovo programmatore, una delle prime cose che ho imparato è stato imparare la lingua e la sua sintassi. Ora il mio prossimo problema formativo è quello di progettare la mia gerarchia di codice in modo che sia semplice da mantenere nel tempo. Un esempio che ho appena incontrato è qui sotto. È in VBA per Excel ma il concetto si estende anche ad altre lingue.

Come qualcuno con pochissima esperienza, mi sembra che la seconda opzione sia molto più chiara e dovrei usare quello stile. Tuttavia, a volte so che per un programmatore principiante ciò che sembra una scelta relativamente benevola può finire per danneggiare il loro sviluppo a lungo termine.

Uno di questi due stili è il migliore? Non sto parlando di scelte "stilistiche" personali, sto parlando di quale porta a più problemi su tutta la linea, probabilmente attraverso complicazioni eccessive.

For ws in Worksheets
    remove duplicates
    append remaining data to separate workbook
Next ws

vs

For ws in Worksheets
    remove duplicates
Next ws

For ws in Worksheets
    append remaining data to separate workbook
Next ws

Grazie!

EDIT: A proposito, non è importante se lo stile di progettazione meno leggibile è più veloce. Al momento, un piccolo aumento delle prestazioni non vale la perdita di leggibilità per i miei scopi.

    
posta nebffa 07.08.2012 - 04:32
fonte

3 risposte

3

Come sviluppatore ti imbatti sempre in questa situazione - Ho un problema con due soluzioni. Entrambi sembrano risolvere il problema, entrambi sono di complessità simile, non vi è alcun motivo ovvio per scegliere l'uno sull'altro (schemi, pratiche, preferenze personali, ecc.). Quale dovrei fare?

Il problema con la domanda che hai posto sopra è che non c'è abbastanza contesto per fare una valutazione. Ad esempio, ci sono affari esterni o requisiti funzionali che possono aiutare. vale a dire. tutti i duplicati devono essere rimossi prima che i dati possano essere aggiunti? Se c'è un sì a questo, la prima soluzione è quella corretta perché la seconda non soddisfa i requisiti. In alternativa, è possibile che le modifiche vengano apportate solo ai fogli di lavoro, quando stanno per essere aggiunti ulteriori dati in modo che qualsiasi errore lascerà il numero massimo di fogli di lavoro nella loro condizione originale. In questo caso, la seconda soluzione è la migliore e la prima fallisce.

Se non ci sono tali requisiti da prendere in considerazione allora la risposta è una preferenza puramente personale. La mia sarebbe la seconda opzione. Non c'è differenza in termini di stabilità o velocità tra le soluzioni.

    
risposta data 07.08.2012 - 05:05
fonte
2

Non ho molta familiarità con VBA, ma a prima vista sembra che questa sintassi sia preferibile in ogni modo:

For ws in Worksheets
    remove duplicates
    append remaining data to separate workbook
Next ws

Per prima cosa, mi sembra abbastanza leggibile. Per un altro, stai facendo un ciclo, non due.

    
risposta data 07.08.2012 - 04:48
fonte
1

Durante la programmazione, si desidera seguire l'approccio più semplice possibile pur avendo una sufficiente robustezza.

Il primo approccio è più semplice, mentre il secondo è più robusto. Se hai buone ragioni per credere che la seconda azione potrebbe essere potenzialmente disaccoppiata con la prima in futuro, allora vai per quest'ultima. Altrimenti, segui l'approccio più semplice.

    
risposta data 07.08.2012 - 04:48
fonte

Leggi altre domande sui tag