Le fait d'avoir des variables locales mutables dans une fonction qui ne sont utilisées qu'en interne (par exemple, la fonction n'a pas d'effets secondaires, du moins pas intentionnellement) est-il toujours considéré comme "non fonctionnel"?
Par exemple, dans la vérification de style de cours "Programmation fonctionnelle avec Scala", toute var
utilisation est considérée comme mauvaise
Ma question, si la fonction n'a pas d'effets secondaires, est-elle toujours déconseillée d'écrire du code de style impératif?
Par exemple, au lieu d'utiliser la récursivité de queue avec le modèle d'accumulateur, qu'est-ce qui ne va pas avec faire une boucle for locale et créer une mutable localeListBuffer
et l'ajouter, tant que l'entrée n'est pas modifiée?
Si la réponse est "oui, ils sont toujours découragés, même s'il n'y a pas d'effets secondaires", alors quelle est la raison?
var
est toujours non fonctionnel. Scala a des valeurs paresseuses et une optimisation de la récursivité de la queue, ce qui permet d'éviter complètement les variables.