我应该如何命名在不同模块中执行相同操作的函数?

时间:2015-07-31 21:41:25

标签: python

所以,我有两个脚本temperature.py和rain.py.这两个脚本执行相同的操作:打开文件,更新文件然后保存。函数的目的是相同的,但函数对每个脚本的作用都不同。

我的问题是我应该给出相同的名字,例如。 update(),对于这两个脚本,它应该是不同的吗?

我将按如下方式导入它们:

import temperature
import rain

2 个答案:

答案 0 :(得分:3)

我建议使用相同的名称,特别是如果你不是from temperature import *或类似的nastinesses。你写的方式想要这样做,通过调用rain.update()temperature.update()没有问题。

但也许你应该重新考虑你的两个"模块"不应该更好地从彼此继承或至少从公共基类继承的两个类。如果你想要做两件事情,那就做同样的事情,但不同的是#34;然后覆盖一个继承的行为是面向对象的方式。也许两个update()甚至有一些共同点,这两者都需要做(这是一个非常典型的例子);然后可以在基类中完成。

即使你现在回答"不,他们没有任何共同之处#34;我认为我觉得他们的想法在更理论的层面上有共同点。在这种情况下,您的软件的更高版本可能会受益于我建议的不同架构。

答案 1 :(得分:0)

如何使功能具体化并描述上下文?

  • from temperature import update_temperature
  • from rain import update_rain

这样命名提供命名冲突的可能性较小(例如,具有update()的文件,或者甚至是拥有自己的update()的第三方包。)

它清楚地了解您的代码究竟在做什么;更新温度(不是单位temperature.update_units或位置temperature.update_location)并说明它。