2.6 KiB
aliases
aliases | |||
---|---|---|---|
|
up:: programmation #informatique
[!definition] effet de bord En programmation, une programmation.fonction est dite à effet de bord si elle modifie un programmation.état en dehors de son environnement local. ^definition
[!cite]- Wikiwand - Effet de bord (informatique) - Page En informatique, une fonction est dite à effet de bord (traduction mot à mot de l'anglais side effect, dont le sens est plus proche d'effet secondaire) si elle modifie un état en dehors de son environnement local, c'est-à-dire a une interaction observable avec le monde extérieur autre que retourner une valeur.
[!note] Notes effet de bord = modification en dehors de l'environnement local ^YVVTF3QPaJD72IJY2g5383243
Exemples
[!example] Exemples d'effets de bord
- la modification d'une variable non-locale
- le programmation.passage par référence d'un argument d'une fonction mutable
- la modification d'une programmation.variable statique locale
- le fait d'appeler une autre fonction à effet de bord
[!cite]- Effet de bord (informatique) - Page Par exemple, les fonctions qui modifient une variable locale statique, une variable non locale ou un argument mutable passé par référence, les fonctions qui effectuent des opérations d'entrées-sorties ou les fonctions appelant d'autres fonctions à effet de bord[ ^FRXYERKZaFHGCUVX5g5383243
Problèmes des effets de bord
Les effets de bord posent problème pour :
- la lisibilité (l'influence d'un effet de bord n'est pas bien circonscrite)
- la réutilisabilité des programmation.fonction / programmation.procédure
Solutions possibles
Le langage haskell restreint les effets de bord dans le concept de monade.
[!cite]- Effet de bord (informatique) - Page La programmation fonctionnelle cherche au contraire à les minimiser et les isole souvent pour cela dans des structures prévues entre autres pour cela : les monades.
[!note] Notes La programmation fonctionnelle est une solution aux problèmes des effets de bord. ^LAQR2DNMaFHGCUVX5g5383243