La programmazione a strati è reale? [duplicare]

6

Sono abbastanza nuovo nello sviluppo del prodotto e sto cercando di lavorare su un prodotto. Il problema che ho realizzato è che le persone disegnano diagrammi e grafici che mostrano diversi moduli e livelli.

Ma poiché sto lavorando da solo (sono la mia squadra) mi sono un po 'confuso sull'interazione che sto affrontando nello sviluppo dei programmi e mi chiedo se lo sviluppo di un prodotto nei moduli sia reale o no?

Forse non sono un grande programmatore, ma non vedo confini quando i dati iniziano a spostarsi dal frontend al backend.

    
posta Aura 17.10.2013 - 13:46
fonte

2 risposte

22

I "livelli" che descriviamo quando descriviamo i sistemi software sono concetti astratti. Al computer, tutto ciò che viene visualizzato è un flusso informale di un codice operativo dopo l'altro, indipendentemente dal livello, dalla classe o dal metodo da cui proviene. In questo senso, non sono affatto "reali".

Tuttavia, i livelli (e le classi e i metodi) sono utili perché i programmatori possano semplificare la riflessione sul sistema . Limitandoci volontariamente a pensare al sistema solo su un livello di descrizione alla volta, e a pensare a un'operazione solo in termini di input e output piuttosto che del suo funzionamento interno, aumentiamo la nostra capacità di comprendere le parti rilevanti quando aggiungiamo funzionalità o apportare modifiche.

Questo è inizialmente piuttosto contro-intuitivo e sotto-insegnato nell'educazione formale. Ma ti assicuro che un uso giudizioso dell'astrazione è l'unica cosa che rende lo sviluppo del software "nel grande" possibile per le persone che non sono autistiche savant.

    
risposta data 17.10.2013 - 13:56
fonte
2

Aggiungendo i miei due centesimi ...

Sei la tua squadra; stai lavorando da solo su quel prodotto, un consiglio: tienilo semplice, stupido !

Nel tuo caso, non penso che sia necessario astrarre cose creando livelli o moduli, otterrai solo complessità.

Ovviamente le cose non sarebbero le stesse se dovessi lavorare all'interno di un team di 10 persone in cui alcuni di loro sarebbero coinvolti nello sviluppo di regole di business e gli altri nell'interfaccia utente. In questa situazione, separare le preoccupazioni potrebbe essere una buona idea. Basta avviare semplici e scrivere test unitari per proteggerti dalla regressione.

Perché dovresti ottenere le cose più complicate del necessario? Potresti non averne bisogno a tutti!

    
risposta data 17.10.2013 - 15:52
fonte

Leggi altre domande sui tag