Menu
Coddy logo textTech

Responsabilité unique

Leçon 22 sur 28 du cours Clean Code - Écrire un meilleur code avec Python de Coddy.

"Il ne devrait jamais y avoir plus d'une raison pour qu'une class change."

Le principe de responsabilité unique (SRP) stipule que chaque class et chaque fonction ne devraient avoir qu'une seule tâche ou qu'une seule raison de changer.

Objectifs -

  • Créer des class et des fonctions hautement cohésives et robustes.
  • Favoriser la composition de class
  • Éviter la duplication de code
challenge icon

Défi

Moyen

On vous donne la class Person, qui possède une méthode save pour enregistrer la person dans la base de données.

Dans le code donné, la class a deux responsabilités :

  1. Créer et gérer l’objet person
  2. Enregistrer la person dans la base de données

Votre tâche consiste à vous assurer que Person n’a qu’une seule responsabilité.

  • Créer la class Database avec la méthode save.
  • Créer une connexion entre Person et Database

Il existe de nombreuses options pour réaliser cette tâche ; nous visons une utilisation spécifique. Utilisez les indices si nécessaire !

Notez que lorsque nous créons une class distincte pour Database, nous pouvons gérer tout ce qui concerne "Database related" au même endroit !

Essayez vous-même

class Person:
    def __init__(self, name):
        self.name = name

    def save(self):
        print('Saving person with name "%s"' % self.name)

Toutes les leçons de Clean Code - Écrire un meilleur code avec Python

Entraînez-vous par vous-même : Compilateur Python en ligne