DEV Community

Cover image for Pourquoi la fonction pure rend un code plus robuste
MandyTrl
MandyTrl

Posted on • Edited on

Pourquoi la fonction pure rend un code plus robuste

Une fois que l'on commence à construire nos premiers algorithmes, vient l'envie et la nécessité d'écrire un code plus maintenable. C'est là qu'entre en jeux la fonction pure.


Qu'est-ce qu'une fonction dite "pure" ?

C'est une fonction qui ne va générer aucun effet de bord; c'est-à-dire qu'elle ne va rien modifier en dehors de son scope.
Exemples :

  • pas de modification de variables globales,
  • pas de modification des objets passés en argument,
  • pas de changements dans l'interface utilisateur,
  • pas d'appels réseau, etc..

Elle est plus lisible, prévisible (réduit les erreurs) et facile à tester et à débuguer. Avec les mêmes paramètres elle renvoie le même résultat.


Exemples de fonctions pures

Prenons l'exemple suivant pour calculer une moyenne :

const calculateAverage = (numbers) => {
  if (numbers.length === 0) return 0

  const totalSum = numbers.reduce((sum, num) => sum + num, 0)
  return totalSum / numbers.length
}


const scores = [80, 90, 75, 85, 95]
const average = calculateAverage(scores)

console.log(average) // 85

Enter fullscreen mode Exit fullscreen mode

Mais sans le savoir vous utilisez sûrement déjà des fonctions pures grâces aux méthodes JavaScript comme .toUppercase() qui ne modifie pas la chaîne d'origine, mais retourne une nouvelle chaîne en majuscule :

const text = "hello"

const upperText = text.toUpperCase()

console.log(upperText) // "HELLO"
console.log(text) // "hello" > la chaîne d'origine n'a pas été modifiée
Enter fullscreen mode Exit fullscreen mode



Et Voilà, vous savez tout sur les fonctions pures :)

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay