È necessario conoscere e comprendere gli schemi di progettazione per essere un programmatore professionista? [duplicare]

11

È necessario avere una conoscenza e una comprensione dei modelli di progettazione affinché qualcuno possa essere un programmatore professionista? Perché?

    
posta Yusuf Ali Bozkır 05.11.2011 - 16:22
fonte

6 risposte

23

No. Dico solo che per essere pedante però. Il termine "programmatore professionista" significa davvero che vieni pagato per programmare. Ti assicuro che puoi essere pagato per programmare senza conoscere alcuno schema di progettazione (certamente l'ho fatto, per alcuni anni).

Tuttavia, conoscere i modelli di progettazione presenta alcuni vantaggi:

  1. È un modo in cui altri programmatori ci parlano dei modi generali in cui hanno risolto classi generali di problemi.

  2. È un nome che puoi applicare a un pattern specifico e altri programmatori che sanno che quel pattern capirà cosa intendi. Puoi persino inserirlo nel nome dei metodi e delle classi ( XyzSingleton , ad esempio).

  3. In molti modi è un buon modo per imparare le carenze dei linguaggi di programmazione e dei paradigmi. Ad esempio il pattern Visitor esiste perché nella programmazione orientata agli oggetti di solito è necessario scegliere tra un'architettura in cui è più semplice aggiungere nuovi tipi che mostrano la stessa interfaccia o aggiungere facilmente nuovi comportamenti ai tipi esistenti, ma facendo entrambi diventa complicato Pensare a questi problemi informa le tue decisioni di progettazione.

risposta data 05.11.2011 - 17:40
fonte
7

Se sei un buon programmatore, scoprirai alcuni dei modelli di progettazione e in seguito noterai che queste costruzioni hanno un nome.

Quindi, rigorosamente no, ma possono aiutarti a migliorare le tue abilità orientate agli oggetti e possono aiutarti a comunicare con altri programmatori.

    
risposta data 05.11.2011 - 22:10
fonte
5

I modelli di design hanno due scopi:

  1. Sono soluzioni provate e vere per molti problemi comuni e
  2. Poiché molti sviluppatori li conoscono, sono una scorciatoia per comunicare concetti.

Non devi sapere che sono uno sviluppatore professionista, ma non saperlo ti ostacolerà in una certa misura, perché non sarai in grado di "parlare la lingua". Potrai anche reinventare la ruota.

    
risposta data 05.11.2011 - 16:49
fonte
2

Algoritmi, modelli di progettazione, tipi di architettura dell'applicazione sono elementi costitutivi per i programmatori.

Sono indipendenti dalle lingue più popolari (C #, Java ecc.) e uno dei lati positivi di questo fatto è che possono essere usati per comunicare i tuoi pensieri più facilmente quando si tratta di spiegare come qualcosa è codificato.

    
risposta data 05.11.2011 - 16:48
fonte
1

Sebbene la conoscenza e la comprensione dei modelli di progettazione non sia un prerequisito per diventare un programmatore professionista, sono uno strumento utile per migliorare l'affidabilità del codice, la capacità di comunicare con altri programmatori e la capacità per gli altri di mantenere il codice hai scritto.

Proprio come l'apprendimento di linguaggi e tecnologie di programmazione aggiuntivi, una buona comprensione dei modelli di progettazione migliora le tue capacità e il tuo valore.

In altre parole, non è necessario per conoscere e comprendere i modelli di progettazione, ma più capisci, meglio sarai professionalmente.

    
risposta data 05.11.2011 - 18:25
fonte
1

I pattern non sono necessari per scrivere il codice e ottenerne il pagamento. Il processo di apprendimento di quali tipi di pattens, algoritmi e stili architettonici esistono è un processo di apprendimento su come progettare e progettare software con una qualità interna superiore e che soddisfi requisiti più rigidi non funzionali. Oh e potrebbe essere necessario se non vuoi che gli altri ragazzi dello sviluppo ridano e indichino. ;)

    
risposta data 05.11.2011 - 19:17
fonte

Leggi altre domande sui tag