【问题标题】:Naming practice for objects of a class in PythonPython中类对象的命名实践
【发布时间】:2010-08-02 17:28:06
【问题描述】:

我有一个关于如何命名类的对象的奇怪问题。

例如,考虑类:

>>> class DoSomething:
         pass

我应该怎样称呼这个类的对象? do_something 还是什么?自从我从学习阶段出来后,我曾经使用xyz 或任何我想到的东西。但是现在因为我正在学习编写正确的代码而不是语言,所以我总是面临这个问题。有什么建议吗?

【问题讨论】:

  • 我认为“DoSomething”听起来更像是一个方法名(虽然是一个坏名字)而不是一个类名。
  • 类通常表示“名词”(即它们是什么),而描述性“动词”通常用于命名函数或方法(即它们做什么 i>)。

标签: python oop naming-conventions


【解决方案1】:

将其命名为代表其实际用途的名称。例如:

class Cereal:
    def eat(self):
        print 'yum'

breakfast = Cereal()
breakfast.eat()

class User:
    def __init__(self, userid):
        # ...

admin_user = User(ADMIN_ID)

【讨论】:

  • 啊,我明白了。这种方法也很有用。
【解决方案2】:

你应该用它所代表的来命名它。例如,如果我在 Web 应用程序中有一个类 User,并且我想引用当前登录的用户,我将变量命名为 current_user

如果你有更多的一类对象,你的方法会立即失败。给变量一个像do_something1do_something2 这样的索引不是也永远不会是一个选项

使用有意义的东西,让代码的读者知道这个变量代表什么。


顺便说一句。这适用于所有编程语言,而不仅仅是 Python。

【讨论】:

    【解决方案3】:

    一种好的命名习惯是为集合(例如集合和列表)赋予复数名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 2011-07-19
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多