我还没有得到一个我很满意的答案。如果你有一个很好的Python或PHP项目系统,请提交一些答案。
我的PHP和Python项目存在管理问题。它们都有两种代码文件:应该在控制台或Web浏览器中运行的文件,以及应该包含在其他文件中以扩展功能的文件。在我的项目成长为大型命名空间或模块树之后,它开始变得迷失方向,“可执行”文件和库文件并排放在我所有文件夹中的相同文件扩展名中。如果PHP和Python是预编译语言,那么这将是具有main
函数的文件。
例如,图片我有名称空间com.mycompany.map.address
,其中包含多个.py或.php文件,具体取决于项目。它将包含用于处理地址的不同类型地址和大量函数的模型。但此外,它还包含一些从终端运行的可执行文件,提供用户搜索地址的工具,并可能在数据库中添加和删除地址等。
我想要一种区分这些可执行文件与命名空间树中的大量代码文件的方法
如果文件有单独的文件扩展名,这不会有问题。但既然他们不这样做,我想我应该分开文件夹或其他东西,但我不知道如何命名它们。在PHP中,我可以执行配置PHP以解析不同文件扩展名的黑客解决方案,因此我的项目可以包含phps
或phpx
个文件。
如果有人对如何处理这个问题有一些独立于语言的建议,我会很感激。这也适用于C语言,其中一个项目可能编译成许多可执行文件。如何将包含main
函数的源文件与其余函数分开?
答案 0 :(得分:1)
以某种方式(按名称,按名称,按地点)分隔它们。
例如:
以下是我们的测试自动化系统的布局(输出是为了清晰起见而手动排序):
$ ls -1 automation
atf \ two major homebrew libraries, with many submodules
atflib /
atfconfig configuration files in .py form
configuration \ configuration files in .ini form
res_manager /
test_scripts - scripts to be invoked directly
然后我们将automation
文件夹放入PYTHONPATH
,并将import atf.<smth>
放在任何位置。
要运行测试,我们会更改为test_scripts
。
答案 1 :(得分:0)
对于我的PHP项目,我遵循一个非常Java的命名约定(我的背景):
的index.php
/ classes / {组织类型:net,org,com} / {组织名称} / {component}
/ includes /&lt; - 一般配置等;所有不可执行的;
/ lib /&lt; - 与特定版本绑定的第三方库;未经修改,根据需要进行修补/升级;
/ modules /&lt; - 在项目分数内写的扩展名