大型c ++项目的文件/文件夹布局有哪些最佳实践

时间:2011-12-20 19:33:06

标签: c++ setup-project

按组件或文件类型分组文件和文件夹会更好吗?

例如,假设该项目是LibreOffice套件。作家,计算,绘画等

文件夹应该是这样的组件:

+ LibreOffice/
| + Writer/
|   + src/
|   + test/
| + Calc/
|   + src/
|   + test/
| + Draw/
|   + src/
|   + test/

或者像这样的文件类型:

+ LibreOffice/
| + src/
|   + Writer/
|   + Calc/
|   + Draw/
| + include/
|   + Writer/
|   + Calc/
|   + Draw/
|-+ test/
|   + Writer/
|    ...

4 个答案:

答案 0 :(得分:2)

这是一个真正的选择问题 但我通常遵循第一种方法,因为这可以帮助其他人以更好的方式更好地理解代码布局 始终遵循下一个处理项目的人员会更容易理解的实践和方法,对我来说,第一种方法恰当地适合于此。

答案 1 :(得分:0)

就我个人而言,我总是按组件,文件类型进行操作,即使只是听起来非常混乱。

例如,在一个大型Web项目中,我会拆分脚本,样式表,引用,图像,但也会将搜索功能所需的类组合在一起。

在更高级别,我会拆分数据,内容,框架等

答案 2 :(得分:0)

这确实是一个选择问题。但是,我更喜欢第一种方法,它似乎是所有答案中的显着选择。

理论上的论点是,通过选择第一个,[build]脚本可以执行所有(子)目录[Writer,Calc,Draw]中的所有步骤,而不会过多地爬行。

此外,新开发人员可能会发现更容易在项目子目录中查看所有相关的文件。

答案 3 :(得分:0)

我更愿意选择第一个选项,因为这看起来更合乎逻辑,不仅适用于我,也适用于将来会参与此项目的任何人。

它还有助于在调试或进行任何类型的源代码分析(比如说“Writer”)时,开发人员可能正在寻找特定的文本或模式,因此需要只查看相关的文件到“作家”。在第二个选项中,他必须浏览所有文件(考虑到与“Writer”/“Calc”/“Draw”等相关文件中出现相同模式的最坏情况。)

所以,第一种选择的生活要容易得多。