2. Applicare principi di programmazione funzionale da Edward Garsonprogrammazione
funzionale ha recentemente goduto di un rinnovato interesse da parte della comunità programmazione generale. Parte del motivo è dovuto al fatto proprietà emergenti del paradigma funzionale sono ben posizionati per affrontare le sfide poste dal cambiamento della nostra industria verso il multi-core. Tuttavia, mentre questo è certamente una domanda importante, non è la ragione per questo pezzo ammonisce che tu sappia la tua programmazione funzionale . padronanza del paradigma di programmazione funzionale può migliorare notevolmente la qualità del codice scritto in altri contesti. Se profondamente comprendere e applicare il paradigma funzionale, i vostri disegni esporrà un grado molto più elevato di trasparenza referenziale . trasparenza referenziale è una proprietà molto desiderabile: Ciò implica che le funzioni costantemente ottenere gli stessi risultati dato lo stesso ingresso, indipendentemente da dove e quando sono invocati. Cioè, la funzione di valutazione dipende meno - idealmente non a tutti - sugli effetti collaterali di stato mutabile. Una delle principali cause di difetti nel codice imperativo è attribuibile alla mutevole variabili. Tutti quelli che leggono questo hanno indagato perché alcuni valore non è come previsto in una situazione particolare. Semantica visibilità può contribuire ad attenuare questi difetti insidiosi, o almeno per limitare drasticamente la loro posizione, ma il loro vero colpevole potrebbe in realtà essere la provvidenza dei progetti che impiegano mutevolezza eccessiva. E noi certamente non si ottiene molto aiuto da parte dell'industria in questo riguardo. Introduzioni di opporsi orientamento tacitamente promuovere il design come, perché spesso mostrano esempi composto da grafici di oggetti relativamente lunga durata che felicemente chiamare metodi mutatori gli uni sugli altri, che possono essere pericolosi. Tuttavia, con astuti basato su test di design, in particolare quando sono sicuri di"Ruoli Mock, non oggetti" , mutabilità inutili possono essere progettati distanza. Il risultato è un design che di solito ha la responsabilità di allocazione migliore con più numerosi, le funzioni più piccole che agiscono su argomenti passati in loro, piuttosto che fare riferimento a variabili mutevoli membro. Ci saranno meno difetti, e inoltre saranno spesso più semplice per eseguire il debug, perché è più facile individuare dove un valore canaglia viene introdotto in questi disegni di dedurre altrimenti il particolare contesto che si traduce in un'assegnazione errata. Questo aggiunge fino ad un grado molto più elevato di trasparenza referenziale, e positivamente nulla otterranno queste idee più profondamente nelle ossa come imparare un linguaggio di programmazione funzionale, dove questo modello di calcolo è la norma. Naturalmente, questo approccio non è ottimale in tutte le situazioni. Per esempio, in sistemi orientati agli oggetti questo stile produce spesso risultati migliori con lo sviluppo modello di dominio (cioè, in cui collaborazioni servono per abbattere la complessità delle regole di business) che con interfaccia utente di sviluppo. master il paradigma di programmazione funzionale in modo che siano in grado di giudiziosamente applicare quanto appreso ad altri domini. I sistemi oggetto (per uno) risuonerà con la bontà e la trasparenza referenziale essere molto più vicini alle loro controparti funzionale di quanto molti vorrebbero far credere. In realtà, qualcuno potrebbe addirittura affermare che l'apice della programmazione funzionale e di orientamento agli oggetti sono solo il riflesso di ogni altro , una forma di calcolo yin e yang.
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.