publié par imrok* le 15/07/2020 dev abs
Si l'on croise deux itérateurs,
On multiplie le nombre d'itérations.
De ce fait,
À chaque fois que l'on rajoute un élément à l'index de l'un des itérateurs,
On augmente le nombre d'itérations de la taille de l'autre itérateur.
À chaque fois que l'on rajoute un itérateur,
On multiplie son nombre d'itérations par le produit croisé des précédents itérateurs.
On atteint rapidement des chiffres vertigineux !
L'exponentialité s'exprime de façon positive dans des principes,
Tel que le DRY (don't repeat yourself),
Mais c'est généralement toujours quelque chose à éviter, voir bannir.
Ce que l'on cherche à susciter, au contraire,
C'est la linéarisation des concepts du projet,
Au moins au statut de noeuds quoiqu'alors il s'agisse plutôt d'une "nodalisation".
Autour des deux composants de l'exponentialité :
De moins point de vue,
Voici une liste de certaines des itérateurs que je rencontre fréquemment :
.map()
, .reduce()
…),foreach
, while
…),Et, de l'autre côté,
La liste de certaines des produits négatifs de l'itération par le croisement de certains itérateurs entre eux :
En combinant plusieurs axes,
on tend à l'exponentialité.
D'un côté ça nous sauve de la répétition,
D'un autre, nous pouvons nous laisser submerger
Par le volume et la complexité générés.