组织实用功能



这更像是一个最佳实践问题,而不是一个编码问题。我写了一个项目,在项目中我有一些"助手功能"。我把它们放在一个单独的类中,每个函数都是@staticmethod

我的同事认为我不应该把它作为一个类和@staticmethod,而应该把它们作为一个模块。将模型导入到我的代码中,并直接使用函数,而不是实例化类。

我不确定,所以决定问一个关于so.的问题

myproject/
├── actual_code/
│   └── main.py
└── utils/
└── helper_funcs.py

Q。helper_funcs.py应该是一个类还是仅仅是一个包含funcs的文件?

目前:

class HelperFuncs():
@staticmethod
def first_util():
print("first")

同事提议,简单地说:

def first_util():
print("First")

你的同事是对的。拥有一个包含一堆静态方法的类是没有意义的。认为你总是需要一个类是Java或C#遗留下来的一个坏习惯,在Java或C#中,所有东西都需要一个类别。它在Python中不地道。

Python类似于C++。独立方法不仅是允许的,而且通常是首选的。使用模块将相关方法分组在一起,而不是使用名义类。

此外,您不需要单独的目录。

myproject/
└── src/
├── main.py
└── utils.py

最新更新