Come incoraggiare a scrivere funzioni pure in ambienti imperativi? [chiuso]

0

Nei linguaggi di programmazione funzionale, uno sviluppatore è sempre cauto nello scrivere funzioni pure. Alcuni linguaggi funzionali semplicemente non consentono funzioni impure e alcuni altri linguaggi funzionali si costringono a dichiarare esplicitamente quando accade qualcosa di impuro. Ma nelle lingue imperative, di solito non esiste una tale distinzione tra codici / funzioni puri e impuri. E le finzioni impure sono la norma nelle lingue imperative. Ma qualcuno può ancora scrivere funzioni pure in lingue imperative e questo è positivo per la salute del codice, a mio parere.

Quindi, come possiamo convincere o incoraggiare gli altri a scrivere funzioni pure all'interno di lingue imperative?

    
posta Gulshan 08.01.2015 - 00:56
fonte

1 risposta

5

L'unico buon modo per incoraggiare gli altri a lavorare in un certo modo è dimostrare i benefici di farlo. Potresti anche costringere le persone a lavorare in un certo modo, tramite revisioni di codice, ma se le persone non capiscono i benefici, renderesti semplicemente infelici tutti.

Le funzioni pure hanno molti vantaggi anche nelle lingue imperative:

  • Predicibilità: con lo stesso input, hai sempre lo stesso risultato.
  • Isolamento: invocare una funzione pura non può modificare il comportamento del programma, poiché la funzione non ha effetti collaterali. Spiegare i benefici dell'isolamento è probabilmente un grande compito in sé ...
  • Più facile eseguire il debug, in parte a causa degli attributi di cui sopra.
  • Meno punti di debug: la maggior parte dei bug si verifica quando lo stato del programma viene modificato.

Questo è fuori di testa, quindi spero che entrino in scena gli altri.

    
risposta data 08.01.2015 - 02:26
fonte

Leggi altre domande sui tag