问题:我应该如何组织Python源代码?[关闭]
我正在开始使用Python(现在是时候尝试了),并且我正在寻找一些最佳实践。
我的第一个项目是一个在多个线程中运行命令行实验的队列。我开始得到一个很长的main.py
文件,我想将其分解。总的来说,我在寻找:python程序员如何组织多个源文件?有没有适合您的特定结构?
我的具体问题包括:
- 每个类都应该放在单独的文件中吗?
- 我应该如何组织相对于源代码的单元测试?
- 我应该在哪里放置doc注释,尤其是命令行操作的注释?
- 如果使用多个目录,如何在它们之间导入类?
我可能会通过反复试验得出一些自己的结论,但是我宁愿从好的东西开始。
回答 0
Eric指向的文章很棒,因为它涵盖了组织大型Python代码库的详细信息。
如果您是从Google登陆到这里的,并试图找出如何将一个大型源文件拆分为多个,更易于管理的文件,那么我将简要概述该过程。
假设当前所有内容都在一个名为的文件中main.py
:
- 在同一文件夹中创建另一个源文件(
utils.py
在此示例中,我们称为我们的文件) - 将所需的任何类,函数,语句等
main.py
移入utils.py
- 在
main.py
顶部添加一行:import utils
从概念上讲,此操作是utils
在另一个源文件中创建一个新模块。然后,您可以在任何需要的地方导入它。
回答 1
组织代码和测试的方式与使用任何OO语言完全相同。
我做这件事的答案。可能不对,但对我有用
- 取决于如何拆分功能。对于我的主要python应用程序,我有1个文件,其中包含用于入口点的类,然后包含功能不同的包
- 我使用PyDev进行蚀,并像使用Java一样组织它。
> Workspace > | > |-Src > | |-Package1 > | |-Package2 > | |-main.py > |-Test > |-TestPackage1 > |-TestPackage2
- 随处使用DocString跟踪所有内容
- 确保相关
__init__.py
文件位于文件夹中之后。这只是一个简单的例子from module import class