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
Défi
MoyenOn 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 :
- Créer et gérer l’objet person
- 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
Databaseavec la méthodesave. - Créer une connexion entre
PersonetDatabase
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