【发布时间】:2017-02-23 18:18:36
【问题描述】:
我最近开始使用 PyCharm,只要我的方法之一可以是静态的(只要我不使用任何成员),它就会告诉我。
我想知道尽可能将方法设为静态是否是一种好习惯。我知道这在其他(编译)语言中是一个坏习惯,但感觉对于 Python 来说它实际上会更轻松。通常,PyCharm 建议的此类更正由 PEP 编号支持,但此编号没有。
TL;DR 即使我不需要静态使用它们,我是否应该将我的方法声明为静态?
【问题讨论】:
-
我建议在做出此决定时更多地关注概念模型而不是代码。一个操作在概念上是特定于单个对象实例(即使不需要像当前实现的那样与该实例交互),还是对您正在使用的类所代表的对象类型的通用操作?或者,该操作是否对可能无法访问您的类实例的代码有用?将此来自 PyCharm 的消息视为提醒您考虑您的概念模型,而不是对特定结果的建议。
-
这似乎是一个偏好问题。至少对我来说。
-
...顺便说一句,“其他(编译)语言的坏习惯”是...我不同意这是绝对正确的。
-
@Dschoni 我在发帖前看过这篇文章。它更多的是关于我们“可以”做的事情,而不是“应该”做的事情。
标签: python static-methods pep