【发布时间】:2013-01-08 15:23:13
【问题描述】:
首先谢谢,我知道堆栈溢出充满了这个论点(但我们可以考虑一个复习问题)。我有一些关于组织 Python 项目的问题。
从这个link 我找到了这个不错的架构
/myproject
/__init__.py # This makes it a Python package and importable.
/evaluate.py # Contains the code to actually do calculations.
/main.py # Starts the application
/ui.py # Contains the code to make a pretty interface
从此web site __init__.py 通常为空
我的问题是:
- 假设您有一个函数 (def foo)。 foo 位于 evaluate.py 还是在 main.py 中?
- 如果 foo 位于
main.py(或evaluate.py)中,那么评估.py(或 main.py) 包含? - 有时我会找到
utilities.py和/或module.py。 utility.py/module.py 包含哪些内容?
提前致谢
【问题讨论】:
-
我喜欢相信形式源于功能。您的项目所做的将决定如何组织它。您的示例有两个组件,一个 ui 和一个计算,因此这些组件有 2 个 py 文件,其余的是将它们放在一起的胶水。至于你的 foo 去哪里,是计算 foo 还是 ui foo。最后,随处使用的辅助函数通常位于 common.py 或 utility.py 中。
-
我不认为这个例子可以从字面上理解。它用于说明创建模块不是为了保存单个类或其他东西,而是创建包含逻辑组的模块。
-
对不起,是计算 -> 评估
-
扩展delnans评论,如果它计算东西,evaluate.py。如果它与向用户展示东西有关,ui.py。如果它与启动一切或清理有关,main.py。
-
通常在
main中解析命令行参数、读取环境、解析配置文件、打开输入文件、连接服务器等,然后将工作交给实际的处理模块。跨度>
标签: python coding-style