2015-01-15 8 views
8

私は__foo__のような名前のオブジェクトを作成するかどうかを知るためにPEP 8を読んでいます。 PEP 8はこれについて約__double_leading_and_trailing_underscore__"このような名前は絶対に作成しないでください。誰?

という名前を作成しません。文書化されているものだけを使用してください。

私の質問は誰ですか?

私はプログラマーです。私は他のプログラマーのためのAPIを書いています。 Pythonはプログラマーによって実装されました。実装の言語リファレンスは、プログラマーまたは少なくとも元のプログラマーによって書かれたものであり、私のAPIを使用するプログラマーは、今後のプログラマーが使用するかもしれないし、使用しないものを書くでしょう。

今度は、このプログラマーはPEP 8が「決してそのような名前を発明しない」と言ったときに展開しましたか?

誰かがという名前をつくるのは明らかですが、そういう名前は存在するのではなく、そうでない人もいます。

"どのようなプログラマーのグループはこのような名前を作成しない"べきでしょうか? Pythonのコア開発者は、Python自体に同じ名前を選ぶとき、あなたは負けるだろう場合や、あなたのAPIを破ることができるので、

答えて

11

あなたは、そう、あなたのAPIにそのような名前を使用してからがっかりしています。

あなたがPythonコア開発者ではない、またはある日Python標準ライブラリまたはコア言語定義の一部となる可能性のあるPEPを作成する場合は、APIでdunder名を使用しないようにしてください。

関連する問題