Je recherche des ressources qui donnent des exemples de bonnes pratiques, de modèles de conception et des principes SOLID utilisant Python.
python
design-patterns
Ted Smith
la source
la source
Réponses:
Certains se chevauchent dans ces
Menuiserie logicielle intermédiaire et avancée en Python
Code comme un Pythonista: Python idiomatique
Idiomes et efficacité Python
Google Developers Day US - Modèles de conception Python
Une autre ressource est par exemple dans les recettes Python . Un bon nombre ne suit pas les meilleures pratiques, mais vous pouvez y trouver des modèles utiles
la source
Type
dans une console Python.
Bien que cela soit généralement traité comme une blague (très bien!), Il contient quelques axiomes valides spécifiques à python.
la source
" Penser en Python " de Bruce Eckel s'appuie fortement sur les modèles de conception
la source
Vous pouvez commencer ici et ici .
Pour un examen plus approfondi des modèles de conception, vous devriez consulter Modèles de conception: éléments de logiciels orientés objet réutilisables . Le code source n'est pas en Python, mais il n'est pas nécessaire que vous compreniez les modèles.
la source
Quelque chose que vous pouvez utiliser pour simplifier votre code lors de l'appel d'attributs sur des objets qui peuvent ou non exister est d'utiliser le modèle de conception d'objet nul (auquel j'ai été introduit dans Python Cookbook ).
Cet objet mange simplement l'absence d'erreur d'attribut et vous pouvez éviter de vérifier leur existence.
Ce n'est rien de plus que
Avec cela, si vous le faites,
Null("any", "params", "you", "want").attribute_that_doesnt_exists()
cela n'explosera pas, mais deviendra silencieusement l'équivalent depass
.Normalement, vous feriez quelque chose comme
Avec cela, vous faites simplement:
et oubliez ça. Attention, une utilisation intensive de l'
Null
objet peut potentiellement masquer des bogues dans votre code.la source
Vous pouvez également lire cet article (sélectionnez le fichier .pdf), qui traite des modèles de conception dans les langages orientés objet dynamiques (p. Ex. Python). Pour citer la page:
la source