Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| cnam:utc503:td3 [2024/10/17 00:20] – jcheron | cnam:utc503:td3 [2025/08/12 02:35] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 31: | Ligne 31: | ||
| * Modifier directement un tableau en utilisant `.push()` et observer les changements sur le tableau d' | * Modifier directement un tableau en utilisant `.push()` et observer les changements sur le tableau d' | ||
| - | ==== 3 - Modification | + | ==== 3 - Modification |
| * Écrire une fonction qui modifie une propriété d'un objet sans altérer l' | * Écrire une fonction qui modifie une propriété d'un objet sans altérer l' | ||
| + | <WRAP todo round> | ||
| === Points de discussion === | === Points de discussion === | ||
| * Pourquoi l' | * Pourquoi l' | ||
| * Quels avantages cela présente-t-il pour la gestion des états dans des applications complexes ? | * Quels avantages cela présente-t-il pour la gestion des états dans des applications complexes ? | ||
| + | </ | ||
| ===== Exercice 3 : Transparence Référentielle ===== | ===== Exercice 3 : Transparence Référentielle ===== | ||
| Ligne 49: | Ligne 50: | ||
| ==== 2 - Transparence dans des expressions complexes ==== | ==== 2 - Transparence dans des expressions complexes ==== | ||
| - | * Introduire des fonctions imbriquées et remplacer les appels par leurs valeurs. | + | * Introduire des fonctions imbriquées |
| * Tester si le programme reste identique. | * Tester si le programme reste identique. | ||
| Ligne 56: | Ligne 57: | ||
| * Créer une fonction avec des effets de bord (ex: `Math.random()` ou modification d'une variable globale) et expliquer pourquoi elle n'est pas transparente. | * Créer une fonction avec des effets de bord (ex: `Math.random()` ou modification d'une variable globale) et expliquer pourquoi elle n'est pas transparente. | ||
| + | <WRAP todo round> | ||
| === Points de discussion === | === Points de discussion === | ||
| * Pourquoi la transparence référentielle est-elle cruciale pour rendre un code plus facile à lire et à raisonner ? | * Pourquoi la transparence référentielle est-elle cruciale pour rendre un code plus facile à lire et à raisonner ? | ||
| * Comment la transparence référentielle permet-elle d' | * Comment la transparence référentielle permet-elle d' | ||
| + | </ | ||
| ===== Exercice 4 : Fonctions d' | ===== Exercice 4 : Fonctions d' | ||
| Ligne 75: | Ligne 77: | ||
| * Expérimenter avec les méthodes comme `filter()`, `reduce()`, et `forEach()` pour transformer des tableaux. | * Expérimenter avec les méthodes comme `filter()`, `reduce()`, et `forEach()` pour transformer des tableaux. | ||
| + | <WRAP todo round> | ||
| === Points de discussion === | === Points de discussion === | ||
| * En quoi les fonctions d’ordre supérieur facilitent-elles la modularité du code ? | * En quoi les fonctions d’ordre supérieur facilitent-elles la modularité du code ? | ||
| * Comment ce concept peut-il être utilisé pour encapsuler des comportements et les réutiliser dans plusieurs contextes ? | * Comment ce concept peut-il être utilisé pour encapsuler des comportements et les réutiliser dans plusieurs contextes ? | ||
| + | </ | ||
| ===== Exercice 5 : Combinaison des principes ===== | ===== Exercice 5 : Combinaison des principes ===== | ||
| Ligne 95: | Ligne 98: | ||
| * Réécrire le code en appliquant les principes vus, comme découper en plus petites fonctions pures. | * Réécrire le code en appliquant les principes vus, comme découper en plus petites fonctions pures. | ||
| + | <WRAP todo round> | ||
| === Points de discussion === | === Points de discussion === | ||
| Ligne 101: | Ligne 105: | ||
| * Comment la combinaison de ces principes conduit-elle à un code plus fiable et facile à maintenir ? | * Comment la combinaison de ces principes conduit-elle à un code plus fiable et facile à maintenir ? | ||
| * Quelles améliorations peuvent être apportées pour rendre le code plus fonctionnel ? | * Quelles améliorations peuvent être apportées pour rendre le code plus fonctionnel ? | ||
| + | </ | ||