Cas : je travaille dans une entreprise, écrivant une application en Python qui traite beaucoup de données dans des tableaux. Je suis le seul développeur de ce programme pour le moment, mais il sera probablement utilisé / modifié / étendu dans le futur (1-3 ans) par un autre programmeur, pour le moment inconnu de moi. Je ne serai probablement pas là directement pour aider alors, mais peut-être apporterais-je de l'aide par courrier électronique si j'en ai le temps.
Donc, en tant que développeur qui a appris la programmation fonctionnelle (Haskell), j’ai tendance à résoudre, par exemple, le filtrage de la manière suivante:
filtered = filter(lambda item: included(item.time, dur), measures)
Le reste du code est OO, ce ne sont que quelques cas où je veux le résoudre comme ceci, car il est beaucoup plus simple et plus beau selon moi.
Question : Est-ce que ça va aujourd'hui d'écrire du code comme ça?
- Comment un développeur qui n'a pas écrit / appris la PF réagit-il à un code comme celui-ci?
- Est-ce lisible?
- Modifiable?
Devrais-je écrire une documentation comme expliquer à un enfant ce que la ligne fait?
# Filter out the items from measures for which included(item.time, dur) != True
J'ai demandé à mon patron, et il a juste dit "La PF est une magie noire, mais si cela fonctionne et est la solution la plus efficace, alors c'est OK de l'utiliser."
Quelle est votre opinion à ce sujet? En tant que programmeur non-PF, comment réagissez-vous au code? Le code est-il "googable" afin que vous puissiez comprendre ce qu'il fait? J'aimerais des commentaires à ce sujet.
# Select the item's from measures for which included(item.time, dur) == True
:, éviter un double négatif améliore toujours la compréhension.