Caso : sto lavorando in un'azienda, scrivendo un'applicazione in Python che sta gestendo molti dati negli array. Sono l'unico sviluppatore di questo programma al momento, ma probabilmente verrà utilizzato / modificato / esteso in futuro (1-3 anni) da qualche altro programmatore, in questo momento a me sconosciuto. Probabilmente non sarò lì direttamente per aiutarti, ma forse darò un po 'di supporto via e-mail se ho tempo per farlo.
Quindi, come sviluppatore che ha imparato la programmazione funzionale (Haskell), tendo a risolvere, ad esempio, il filtro in questo modo:
filtered = filter(lambda item: included(item.time, dur), measures)
Il resto del codice è OO, sono solo alcuni piccoli casi in cui voglio risolverlo in questo modo, perché secondo me è molto più semplice e più bello.
Domanda : oggi va bene scrivere codice come questo?
- In che modo uno sviluppatore che non ha scritto / imparato FP reagisce a questo codice?
- È leggibile?
- Modificabile?
Dovrei scrivere documentazione come spiegare a un bambino cosa fa la linea?
# Filter out the items from measures for which included(item.time, dur) != True
Ho chiesto al mio capo, e lui dice semplicemente "FP è magia nera, ma se funziona ed è la soluzione più efficiente, allora va bene usarla."
Qual è la tua opinione su questo? Come programmatore non FP, come reagisci al codice? Il codice è "googabile" in modo che tu possa capire cosa fa? Mi piacerebbe un feedback su questo.
# Select the item's from measures for which included(item.time, dur) == True
:, evitare un doppio negativo migliora sempre la comprensione.