"Erfinde solche Namen niemals; verwende sie nur als dokumentiert. "Wer?

8

Ich lese PEP 8 , um zu wissen, ob ich ein (imaginäres) Erschaffer bin Ein Objekt mit einem Namen wie __foo__ ist eine gute Idee oder nicht. PEP 8 sagt das über __double_leading_and_trailing_underscore__ :

  

Erfinde niemals solche Namen; verwende sie nur wie dokumentiert.

Meine Frage ist: Wer?

Ich bin Programmierer. Ich schreibe eine API für andere Programmierer. Python wurde von Programmierern implementiert. Die Sprachreferenz für die Implementierung wurde von Programmierern oder zumindest Ex-Programmierern geschrieben, und die Programmierer, die meine API verwenden, schreiben etwas, das von weiteren Programmierern verwendet werden kann oder nicht.

Nun, das hat sich gezeigt, von welchem ​​Programmierer spricht PEP 8, wenn sie sagen: "Erfinden Sie niemals solche Namen"?

Jemand wird offensichtlich ermutigt, solche Namen zu erfinden, da sie existieren, während andere dazu nicht bereit sind.

Welche Gruppe von Programmierern sollte "Niemals solche Namen erfinden"?

    
n611x007 15.01.2015, 14:00
quelle

1 Antwort

11

Sie sollten solche Namen in Ihren APIs nicht verwenden, denn wenn die Python-Core-Entwickler denselben Namen für Python selbst wählen, verlieren Sie Ihre API.

Wenn Sie also kein Python-Core-Entwickler sind oder ein PEP schreiben, das eines Tages Teil der Python-Standardbibliothek oder der Kernsprachendefinition werden könnte, versuchen Sie, die Verwendung von Donnernamen in Ihrer API zu vermeiden.

    
Martijn Pieters 15.01.2015, 14:01
quelle