Python 为自动化目的强制变量前缀的约定
Python convention for mandating variable prefix for automation purposes
我正在使用 Mongo 引擎创建 Mongo 文档模式,我想使用变量名称作为数据来源的指示符。例如:
class MyDocument(Document):
source1_name = something
source1_age = something
source2_x = something
想法是虽然变量名可以是任何东西,但这些前缀在代码的执行中很重要,因为自动化会在将它们放入 Mongo 之前从不同的数据源填充这些变量。
我肯定会有一个解释命名约定的评论,但我想知道是否有针对这种情况的 PEP8 命名约定,以便为开发人员提供一个视觉队列,前缀意味着什么。
如果答案是否定的 - 是否有其他一些 "best practices" 用于何时在代码的其余部分使用变量名称本身?
就上下文而言,在过去的生活中,我在一个已经开发超过 25 年(并且还在增加)的代码库上工作。代码库中充斥着这些在当时有意义的前缀,但随着时间的推移,由于许多原因,数据的来源不再有意义。
- 源 2 比源 1 更适合检索 foo
- 来源 1 停业了
- 来源 1 已被替换
- 等等
问题来了,字段的使用到目前为止已经根深蒂固,更新将是一项艰巨的任务,因此它们的前缀含义变得无关紧要。
变量的重要部分始终是它们所代表的内容,而不是它们的来源,所以我不会真的建议为这个用例添加任何前缀。我的建议是保持变量简单,并在必要时使用解释变量来源的方法初始化它们。
def __init__(self):
self.init_source1()
self.init_source2()
def init_source1(self):
self.name = foo
def init_source2(self):
self.x = bar
查看代码库然后清楚源代码在哪里,并且可以根据需要进行更改
我正在使用 Mongo 引擎创建 Mongo 文档模式,我想使用变量名称作为数据来源的指示符。例如:
class MyDocument(Document):
source1_name = something
source1_age = something
source2_x = something
想法是虽然变量名可以是任何东西,但这些前缀在代码的执行中很重要,因为自动化会在将它们放入 Mongo 之前从不同的数据源填充这些变量。
我肯定会有一个解释命名约定的评论,但我想知道是否有针对这种情况的 PEP8 命名约定,以便为开发人员提供一个视觉队列,前缀意味着什么。
如果答案是否定的 - 是否有其他一些 "best practices" 用于何时在代码的其余部分使用变量名称本身?
就上下文而言,在过去的生活中,我在一个已经开发超过 25 年(并且还在增加)的代码库上工作。代码库中充斥着这些在当时有意义的前缀,但随着时间的推移,由于许多原因,数据的来源不再有意义。
- 源 2 比源 1 更适合检索 foo
- 来源 1 停业了
- 来源 1 已被替换
- 等等
问题来了,字段的使用到目前为止已经根深蒂固,更新将是一项艰巨的任务,因此它们的前缀含义变得无关紧要。
变量的重要部分始终是它们所代表的内容,而不是它们的来源,所以我不会真的建议为这个用例添加任何前缀。我的建议是保持变量简单,并在必要时使用解释变量来源的方法初始化它们。
def __init__(self):
self.init_source1()
self.init_source2()
def init_source1(self):
self.name = foo
def init_source2(self):
self.x = bar
查看代码库然后清楚源代码在哪里,并且可以根据需要进行更改