"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Un niveau d'abstraction : la clé des fonctions propres

Un niveau d'abstraction : la clé des fonctions propres

Publié le 2024-11-07
Parcourir:257

One Level of Abstraction: The Key to Clean Functions

Vous avez déjà regardé une fonction et vous êtes senti perdu dans sa complexité ? Explorons un principe fondamental du code propre : les fonctions ne doivent maintenir qu'un seul niveau d'abstraction.

Voici un exemple concret de création d'utilisateurs dans une application Web :

// ❌ A function doing too many things at different abstraction levels
function createUser(userData) {
  // Validate data
  if (!userData.email || !userData.email.includes('@')) {
    return 'Invalid email';
  }
  if (userData.password.length 



Cette fonction mélange différents niveaux d'abstraction :

  • Logique métier de haut niveau (flux de création d'utilisateurs)
  • Opérations de niveau intermédiaire (validation des données, formatage)
  • Détails de bas niveau (hachage de mot de passe)

Refactorisons-le en suivant le principe du niveau unique d'abstraction :

// ✅ Clean version with one level of abstraction
function createUser(userData) {
  const validationError = validateUserData(userData);
  if (validationError) return validationError;

  const securePassword = hashPassword(userData.password);
  const formattedUser = formatUserData(userData.email, securePassword);

  return saveUserToDatabase(formattedUser);
}

function validateUserData({ email, password }) {
  if (!email || !email.includes('@')) return 'Invalid email';
  if (password.length 



Avantages de cette approche

  1. Lisibilité : la fonction principale se lit comme une histoire, décrivant ce qui se passe à un niveau élevé
  2. Maintenabilité : chaque fonction a une responsabilité unique, ce qui rend les changements plus sûrs
  3. Testabilité : vous pouvez tester chaque élément de logique indépendamment
  4. Réutilisabilité : ces fonctions ciblées peuvent être réutilisées dans d'autres contextes

Points clés à retenir

Lors de l'écriture de fonctions :

  • Gardez-les concentrés sur un seul niveau d'abstraction
  • Extraire des opérations complexes dans des fonctions bien nommées
  • Faire en sorte que la fonction principale raconte une histoire
  • Considérez chaque fonction comme une seule étape de votre processus

Rappelez-vous : Si vous mélangez « comment » et « quoi » dans la même fonction, vous avez probablement affaire à plusieurs niveaux d'abstraction. Séparez-les !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/56_kode/one-level-of-abstraction-the-key-to-clean-functions-2ekb?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3