max*_*max 40 python namespaces naming-conventions reserved-words python-3.x
我知道永远不要使用内置函数名作为变量标识符.
但有没有理由不将它们用作属性或方法标识符?
例如,在我自己的类中编写my_object.id = 5或定义实例方法是否安全dict?
Ray*_*ger 36
它不会混淆口译员,但它可能会使阅读代码的人感到困惑.应避免在属性和方法中不必要地使用内置名称.
另一个不良影响是,在大多数支持python的编辑器(vi,emacs,pydev,idle等)中,阴影内置混淆语法高亮显示器.此外,一些lint工具会警告这种做法.
Jam*_*ley 16
是的,这是不好的做法.它可能不会立即为您破坏任何东西,但它仍然会损害代码的可读性.
有选择地引用PEP20:
美丽胜过丑陋.
简单比复杂更好.
可读性很重要.
如果实施很难解释,这是一个坏主意.
看到myobject.dict()对它的调用很自然地会假设它会返回myobject.__dict__,或者myobject.id()返回相同的东西id(myobject)
他们有可能发现他们错了; 但这需要时间和精力,并可能在他们弄明白时导致一些错误.调用你的属性的myobject.object_id_number时间要长得多,但要更清楚它与它的不同id(myobject)
Ign*_*ams 13
不,那没关系.由于需要对象引用,因此无法使它们影响内置对象.
| 归档时间: |
|
| 查看次数: |
14071 次 |
| 最近记录: |