我已经学习了最基本的 C++,但我觉得我不知道如何组织代码和启动 C++ 项目。我搜索了有关项目/代码组织的指南,但运气不佳。
所以我想找一个代码很好的真实程序来看看它是如何组织的,但我什么也没找到。有谁知道 C++ 中一个真正组织良好的程序?最好是开源的、基于终端的和仅适用于 Unix 的。
谢谢。
我已经学习了最基本的 C++,但我觉得我不知道如何组织代码和启动 C++ 项目。我搜索了有关项目/代码组织的指南,但运气不佳。
所以我想找一个代码很好的真实程序来看看它是如何组织的,但我什么也没找到。有谁知道 C++ 中一个真正组织良好的程序?最好是开源的、基于终端的和仅适用于 Unix 的。
谢谢。
这主要取决于几件事:
我刚刚开始了一个不起眼的 C++ 项目,有一个小的平台抽象层,也许可以给你一些提示/建议。源代码可在此处查看(现在完全没有功能,使用 qmake 构建):http: //sourceforge.net/p/ambrosia/git -> 浏览
我做了什么: - 一个平台抽象标头,它提供与平台无关的函数定义,这些函数定义在(当前)每个平台一个源文件中实现。- 一个全局标题,包括几个标题,其中包含几乎无处不在的东西。- 一些子文件夹按照代码的目标进行逻辑组织。
通常,在开始编码之前要做的第一件事是确定命名约定。
变量名、类名、命名空间、方法名等。
然后你必须决定头文件和 cpp 文件中代码的分离以及它们将驻留的目录(相同的目录或不同的目录)。
目录名称应该是有意义的(这里有更多的约定),即一个提供许多组件使用的实用方法的类应该放在子目录 ec /common 或 /util 中。
您应该决定版本控制系统,例如 clearcase。
还有一个非常重要的点(恕我直言)是如何完成日志记录。这必须实施并与所有模块保持一致。
这些都是需要关注的重点,因为在研究一个现成的项目时,可能会很耗时,因为您必须对其进行大量研究,才能注意到代码的所有约定和底层关系。此外,您不会知道为什么一种约定优于另一种约定。
在 C++ 应用程序中组织代码没有被广泛接受的规则。例如,我更喜欢使用命名空间,为每个命名空间创建一个单独的文件夹,并将与该命名空间相关的所有头文件和源代码放入相应的文件夹中,因此项目根目录仅包含带有 main()、makefile 和可能几个其他文件。但是,其他人可能有不同的偏好。
您可以将它们放在不同的文件夹中并使用另一个文件来获取/包含文件中的两个文件,您将使用它们作为您的包含。访问下面的链接,我将向您展示如何实现自己的文件组织结构。 http://codednotes.blogspot.com/2014/01/organising-headers-and-source-files.html
例如,我建议看一下 Google Chrome 的源代码。它很大,但自从谷歌做到了,我相信他们确实认真对待编码标准,探索一下也不错。