Long time Pythoneer Tim Peters succinctly channels the BDFL's guiding principles for Python's design into 20 aphorisms, only 19 of which have been written down.
Tim Peters, un Pythoneer de longue date, a brièvement résumé 20 maximes en 19 phrases des principes de base de BDFL pour la conception Python.
The Zen of Python
Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!
"Belle" plutôt que "moche" "Explicite" plutôt que "implicite" "Simple" plutôt que "complexe", "complexe" vaut mieux que "difficile à comprendre" "Plat" plutôt que "imbriqué" "Rattling" plutôt que "dense" La lisibilité est importante Il n'y a pas de cas particulier pour enfreindre les règles. Il est vrai que la "praticité" est supérieure à la "pureté" (cohérence). Si une erreur se produit mais que vous ne la connaissez pas, c'est une histoire différente s'il est explicitement spécifié que "vous n'avez pas à notifier l'erreur". Si vous rencontrez une "chose ambiguë", ne perdez pas la tentation de faire une "supposition" Il ne devrait y avoir qu'une seule façon directe de faire quelque chose, même si cela peut être déroutant à première vue (si vous êtes néerlandais, c'est une autre histoire). "Faites-le maintenant" plutôt que "ne faites pas" "Ne faites pas" est souvent mieux que "faites-le maintenant" Si l'explication est difficile, la mise en œuvre n'est pas bonne. Si l'explication est simple, la mise en œuvre peut être bonne. L'espace de nom est une excellente idée. Utilisons cela plus!
La beauté que la laideur Explicite plutôt qu'implicite Plus simple que compliqué Cependant, c'est plus compliqué que compliqué Plus plat que le nid Plus épars que dense Plus lisible Rien de spécial que d'enfreindre les règles Pratique plutôt que authentique Ne tolère pas l'erreur C'est différent s'il est clairement indiqué que cela sera toléré Ne spéculez pas sur l'ambiguïté Il ne devrait y avoir qu'un seul chemin clair À moins que vous ne soyez néerlandais, ce n'est peut-être pas évident au début ... Faites-le maintenant plutôt que de ne pas le faire Je ne le fais pas, mais c'est souvent mieux que de le faire maintenant ... Si c'est difficile à expliquer, l'idée n'est pas bonne Si c'est facile à expliquer, l'idée est bonne L'espace de nom est une excellente idée, utilisons plus!
Beau vaut mieux que laid. Il vaut mieux clarifier que suggérer. Il vaut mieux être simple que compliqué. Pourtant, il vaut mieux être compliqué que compliqué. Le nid doit être peu profond. Il vaut mieux avoir un écart que d'être encombré. Facile à lire, c'est bien. Être spécial n'est pas une raison pour enfreindre les règles. Cependant, en ce qui concerne l'aspect pratique, la pureté peut être perdue. Ne cachez pas l'erreur, ne l'ignorez pas. Cependant, s'il est caché exprès, ne le manquez pas. Si vous rencontrez quelque chose d'ambigu, ne devinez pas ce que cela signifie. Il doit y avoir un bon moyen. Il n'y a qu'une seule façon qui soit évidente pour tout le monde. La méthode peut être difficile à comprendre à première vue. Seuls les Néerlandais peuvent facilement comprendre. Faites-le maintenant, plutôt que de ne pas le faire tout le temps. Mais il vaut souvent mieux ne pas le faire maintenant que de le faire «immédiatement». S'il est difficile d'expliquer ce qu'est le code, c'est une mauvaise implémentation. Si vous pouvez facilement expliquer le contenu du code, c'est probablement une bonne implémentation. Les espaces de noms sont une excellente idée et doivent être utilisés activement.
https://www.lifewithpython.com/2013/01/pep-20-the-zen-of-python.html https://ct-innovation01.xyz/DL-Freetime/pep-20/ https://www.python.org/dev/peps/pep-0020/ https://qiita.com/IshitaTakeshi/items/e4145921c8dbf7ba57ef
Recommended Posts