Connetti diversi paradigmi di programmazione in una vera app scritta in JavaScript [duplicato]

0

Sto imparando la programmazione funzionale, lavorando generalmente con JavaScript. Molte cose sembrano promettenti, come dati immutabili e flusso senza stato.

Ora, voglio creare un'app CRUD di base come un progetto per animali da compagnia per mettere in pratica le tecniche funzionali. Userò il nodo per la parte lato server dell'app e vanilla JavaScript per il lato client.

Essendo pratico e non avendo la volontà di passare un elefante funzionale attraverso l'occhio di un ago delle esigenze e delle realtà delle applicazioni web, suppongo, non voglio costruire tutto nell'app con l'approccio funzionale solo per motivi di purezza e perfezione accademica.

Dovrei collegare piuttosto funzionale con imperativo e OOP? Se è così, ci sono chiare indicazioni su dove dovrei usare funzionale, e dove farei meglio a eseguire OOP? Dovrei tendere a mantenere il dominio su un paradigma rispetto agli altri, facendo di uno di essi uno scantinato dell'app, quindi introducendone altri su di esso?

L'app CRUD è migliore dell'80% del funzionale e del 20% dell'OPO helper o viceversa? Vale la pena e ha senso attraversare la giungla e applicare tecniche dove non è applicabile, solo per dire "È un'app funzionale al 100%, guardala!"?

Quali sono i segni di preferire un paradigma rispetto ad un altro in un contesto di web?

    
posta Sergei Basharov 30.08.2015 - 10:40
fonte

1 risposta

0

I paradigmi di programmazione hanno diversi obiettivi. Alcuni obiettivi sono condivisi, altri no. Ma principalmente si tratta di due idee di abstrtract:

  • essendo leggibile
  • complessità addomesticamento

E se lo desideri, puoi riassumere le peculiarità dei paradigmi in queste due categorie.

Ho messo le categorie di proposito in questo ordine. L'obiettivo principale della scrittura del codice dovrebbe essere la leggibilità, dal momento che il codice viene letto e riletto più spesso di quanto scritto. L'algoritmo più intelligente è inutile, se devi trovare un bug e hai bisogno di ore per pensare a come ha funzionato.

Detto questo, la risposta alla tua domanda, se scegliere un paradigma e aderire rigorosamente ad esso o combinare paradigmi, potrebbe essere risolta in questo modo:

Finché non compromette la leggibilità, sei libero di mescolare i paradigmi

Specialmente in Javascript, dove non è forzato alcun paradig (come in Java), sei principalmente libero di mescolare lo stile funzionale e imperativo e speziare il tuo codice con un po 'di OOP, quando è utile.

Does a CRUD app better fall into 80% of functional and 20% of helper OOP or vice versa?

Si tratta solo dell'implementazione, non dell'applicazione stessa.

    
risposta data 30.08.2015 - 11:13
fonte

Leggi altre domande sui tag