Esiste una risorsa che spiega i vantaggi della programmazione a strati?

5

Diciamo che abbiamo un'applicazione winform con un evento buttonclick. Il buttonclick gestisce qualsiasi cosa, dalla configurazione dell'interfaccia utente alla chiamata al database e alla manipolazione dei dati. Quindi ti ritrovi con un metodo lungo 100 di righe di codice. Al di fuori del fatto che questo codice non può essere considerato testabile per vari motivi, questo stile di programmazione è fragile da cambiare.

Posso parlare di OO, Anti-pattern, ecc. Il problema è che qualsiasi argomento distinto che posso immaginare richiede una grande quantità di spiegazioni per comprendere i potenziali benefici.

Al di fuori di trovare un nuovo lavoro ( lotti di programmi aziendali in questo modo), come posso insegnare a questi tipi di sviluppatori come scrivere codice migliore? Ovviamente non possiamo sederci attorno a una tavola rotonda e discutere di pro e contro per tutto il giorno a causa di vincoli di tempo e di lavoro reale che deve essere fatto. Anche se, l'allenamento e l'allenamento intenso sono l'unica cosa che posso pensare di risolvere questi problemi.

Per non dire che scrivo codice perfetto, sicuramente non lo faccio. Credo che ci siano alcune buone pratiche che dovrebbero essere seguite come regola E.G. OO nel contesto di .NET.

La scusa più comune che sento è "non possiamo scrivere codice abbastanza velocemente se lo facciamo così".

    
posta P.Brian.Mackey 04.04.2012 - 19:12
fonte

3 risposte

3

Trova un paradigma adatto come Model-View-Controller e discuterlo in modo specifico.

Penso che scoprirai che i tuoi sviluppatori vedranno immediatamente i vantaggi di seguire uno standard architettonico predefinito. Parlerete anche di qualcosa di concreto, piuttosto che di concetti astratti a torta nel cielo.

ASP.NET MVC ha procedure dettagliate per il codice nel loro progetto di esempio NerdDinner.

    
risposta data 04.04.2012 - 19:23
fonte
2

Ciò richiederà un investimento nel tempo. Se le persone si impegnano in pratiche come la "programmazione di nastri conduttori", evitando i test unitari, scrivendo codice procedurale statico in un linguaggio OO, ecc., I discorsi sul disaccoppiamento e sulle cuciture di prova non li influenzeranno. Discorsi su qualcosa probabilmente non li influenzeranno.

Mantieni te stesso e fai le cose a modo tuo, quindi spiega la tua metodologia quando le domande inevitabili iniziano a farsi strada come "perché sei capace di assorbire i cambiamenti molto meglio di tutti noi?" o "perché i tuoi difetti sono inferiori a tutti noi?" A questo punto, avrai l'orecchio di qualcuno - entrambi gli sviluppatori se sono veramente impegnati ma scettici sulle tue idee o sui tuoi manager se gli sviluppatori sono stati ritirati.

Per dirla in modo più sintetico: parlare è economico, ma i risultati non lo sono. Ottieni i risultati e ti verrà chiesto di parlare. :)

    
risposta data 04.04.2012 - 19:54
fonte
0

Un modo in cui gli sviluppatori junior imparano un paradigma è quello di non permettere loro di toccare l'architettura. Progetta l'architettura e poi componi le porzioni di codice che scriveranno. Assicurati che partecipino con tutti gli altri sviluppatori e vedi come tutto si combina mentre scrivono il codice. Ogni settimana esegui una revisione del codice e schiaffeggia i polsi per rompere il modello e così via ... Questo è un ottimo modo per imparare e lo imparano facendo.

Col tempo, impareranno il modo di pensare necessario per progettare le cose da soli.

Un altro modo è dare loro progetti da fare dove l'unico modo per risolvere il problema è usare un certo schema. Mentre inciampano in esso, scopriranno il modello e / o ne vedranno la saggezza e l'uso.

Ho provato a sedermi e spiegare loro l'architettura, e vola semplicemente sopra la loro testa. Offri loro un progetto per usarlo e si rendono conto molto più facilmente.

IMHO, il miglior libro per la progettazione è ancora link . Tuttavia, è un libro per una persona che sta già cercando di scrivere un buon codice. Per insegnare, progetti, permetti loro di implementare. Poi, nel tempo, includi i tuoi bravi programmatori un po 'di più nel processo di progettazione.

Inoltre,

"we can't write code fast enough if we do it like that".

è la scusa più stupida per il lavoro scadente. Spiega gentilmente al criminale che impiega più tempo esponenzialmente per eseguire il debug e mantenere un programma scritto male di quanto non faccia per scrivere correttamente per cominciare. Una persona che dice una cosa del genere ovviamente non ha mai dovuto vedere un pezzo di codice dallo sviluppo alla produzione, alla revisione all'infinito.

    
risposta data 04.04.2012 - 21:16
fonte

Leggi altre domande sui tag