c'est pas de l'optimisation ça. C'est juste ne pas faire n'importe quoi.
Tu serais surpris de voir le nombre de développeurs qui font n'importe quoi; mais ça peut aussi s'expliquer simplement :
T'as une ressources distante utilisé dans un composant A, tu le récupère via un hook, ou autre, et tu te retrouves à devoir le chopper dans un autre composant, les 'bons' choix vont dépendre de ton framework et a quel point les composants sont éloignés, si c'est juste un parent commun, peut être que le parent peut le récupérer, sinon un store, ou encore un autre méchanisme, mais la mise en place d'un store pour un petit json de rien du tout n'est pas forcément pertinent.
c'est pas reparser 15 fois ton json,
C'est le même json que t'as récupéré dans ton composant, que tu réutilise ailleurs, ou dans une autre fonction, et dont tu avait une fonction getAttr("machin") qui te revoyais la valeur de a.truc.machin, t'as pas forcément regardé sous le capot comment le getAttr fait par un autre dev fonctionnait.
c'est ne pas effectuer une deep copy à coup de JSON.parse(JSON.stringify(obj))
C'est le premier résultat pour un deep clone en javascript sur google
Et sur un projet qui vit, écrit à 10 mains, le n'importe quoi peut arriver très vite car tout le monde n'a pas le temps de regarder ce que font les autres, et quand on ressort les séquences qui arrivent, y'en a pas un pour dire, "ouais-bon ça va ça marche... on va pas risquer de casser en 'optimisant'".
non, y'en a pas 1, mais 2 voir plus, et quand on voit la complexité de mise en œuvre pour 'ne pas faire n'importe quoi', parfois la simplicité va primer; et si parser 15 fois ton json dans une même fonction a la suite c'est effectivement n'importe quoi, ça devient plus compliqué si t'as besoin de servir ce même json plusieurs fois et là va falloir réfléchir à devoir le conserver ou le serialiser plusieurs fois, ou faire un cache avec un booleen qui dit s'il est à jour.
Bref j'ai donné des exemple criant s'ils sont évident, mais ton code fait pas forcément 10 lignes, et la logique est rarement contenue dans un seul écran de code.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Pendant ce temps
Posté par fearan . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 5.
Tu serais surpris de voir le nombre de développeurs qui font n'importe quoi; mais ça peut aussi s'expliquer simplement :
T'as une ressources distante utilisé dans un composant A, tu le récupère via un hook, ou autre, et tu te retrouves à devoir le chopper dans un autre composant, les 'bons' choix vont dépendre de ton framework et a quel point les composants sont éloignés, si c'est juste un parent commun, peut être que le parent peut le récupérer, sinon un store, ou encore un autre méchanisme, mais la mise en place d'un store pour un petit json de rien du tout n'est pas forcément pertinent.
C'est le même json que t'as récupéré dans ton composant, que tu réutilise ailleurs, ou dans une autre fonction, et dont tu avait une fonction getAttr("machin") qui te revoyais la valeur de a.truc.machin, t'as pas forcément regardé sous le capot comment le getAttr fait par un autre dev fonctionnait.
C'est le premier résultat pour un deep clone en javascript sur google
https://stackoverflow.com/questions/4459928/how-to-deep-clone-in-javascript
à noter qu'en cherchant un tout petit peu plus on tombe sur :
https://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone-an-object-in-javascript
Et sur un projet qui vit, écrit à 10 mains, le n'importe quoi peut arriver très vite car tout le monde n'a pas le temps de regarder ce que font les autres, et quand on ressort les séquences qui arrivent, y'en a pas un pour dire, "ouais-bon ça va ça marche... on va pas risquer de casser en 'optimisant'".
non, y'en a pas 1, mais 2 voir plus, et quand on voit la complexité de mise en œuvre pour 'ne pas faire n'importe quoi', parfois la simplicité va primer; et si parser 15 fois ton json dans une même fonction a la suite c'est effectivement n'importe quoi, ça devient plus compliqué si t'as besoin de servir ce même json plusieurs fois et là va falloir réfléchir à devoir le conserver ou le serialiser plusieurs fois, ou faire un cache avec un booleen qui dit s'il est à jour.
Bref j'ai donné des exemple criant s'ils sont évident, mais ton code fait pas forcément 10 lignes, et la logique est rarement contenue dans un seul écran de code.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent