Struttura e programmazione

5

È brutto che mi trovo spesso a dedicare più tempo alla struttura del programma che a scrivere codice all'interno dei metodi? È comune?

Sento che passo più tempo a gettare le fondamenta che a costruire effettivamente la casa (metaforicamente). Mentre capisco che senza una buona base la casa crollerà, ma ha legittimamente bisogno di prendere metà del progetto per finalizzare la struttura del codice?

Comprendo gli schemi di progettazione e so dove andare se ho bisogno di aiuto per sceglierne uno, ma spesso mi trovo a dubitare delle mie scelte.

    
posta SomeShinyObject 21.04.2013 - 13:26
fonte

1 risposta

15

No, non è comune, ma sì, dovrebbe essere comune.

Avere l'organizzazione corretta di un grande progetto è molto più importante di qualsiasi singolo metodo in sé. Se il tuo progetto è organizzato bene, è relativamente facile capirne una parte. Se è necessaria una piccola modifica in una parte isolata, diventa facile trovare la classe o il metodo in questione, per capire cosa fa e cambiare da un comportamento ovvio a un comportamento ovvio diverso.

Avere molti metodi e moduli autosufficienti che sembrano quasi troppo piccoli per dare un senso è una cosa buona . Qualsiasi metodo individuale dovrebbe essere quasi banale da scrivere e leggere. Molti praticanti commettono l'errore di pensare "Oh, questo è banale da capire, non può far male aggiungere un po 'più di funzionalità - sarà ancora abbastanza chiaro". Resistere a quell'impulso con tutto il tuo potere di volontà; invece, esercita questo sforzo su una ben strutturata macro-struttura, in modo che resti banale per trovare, leggere e modificare ogni parte quando necessario.

(I motivi per cui questo non è fatto più spesso sono complessi e probabilmente intrattabili. Scrivere qualcosa che funziona bene all'inizio e lentamente diventa inadatto per la modifica sembra da dare un rapido ritorno sull'investimento, e molti manager non sono in grado di comprendere che un sistema con il quale quasi può funzionare può essere molto costoso da trasformare in uno con cui in realtà può lavorare il futuro, ma non è una scusa per non fare la cosa giusta in primo luogo quando l'esperienza ti ha insegnato a farlo.)

    
risposta data 21.04.2013 - 13:43
fonte

Leggi altre domande sui tag