Avoir une classe Python simple comme celle-ci:
class Spam(object):
__init__(self, description, value):
self.description = description
self.value = value
Je voudrais vérifier les contraintes suivantes:
- "la description ne peut pas être vide"
- "la valeur doit être supérieure à zéro"
Devrais-je:
1. valider les données avant de créer l'objet spam ?
2. vérifier les données dans la méthode __init__
?
3. créer une méthode is_valid
dans la classe Spam et l'appeler avec spam.isValid() ?
4. créer une méthode statique is_valid
dans la classe Spam et l'appeler avec Spam.isValid(description, valeur) ?
5. vérifier les données lors de la déclaration des setters ?
6. etc.
Pouvez-vous recommander une approche bien conçue/pythonique/pas verbeuse (sur une classe avec de nombreux attributs)/élégante ?