你能推荐我为了用 C 编写一个组织良好的代码我应该阅读/学习什么吗?
我想学习的一件事是在 .h 和 .c 文件中拆分项目的原则,去哪里以及为什么,变量命名,何时使用全局变量......
我对处理这个特定问题的书籍和文章感兴趣。
你能推荐我为了用 C 编写一个组织良好的代码我应该阅读/学习什么吗?
我想学习的一件事是在 .h 和 .c 文件中拆分项目的原则,去哪里以及为什么,变量命名,何时使用全局变量......
我对处理这个特定问题的书籍和文章感兴趣。
John Lakos 所著的《Large Scale C++ Software Design》是一本涵盖很多内容的好书(适用于 C 和 C++):
此外,要记住的一个好的经验法则是“永远不要做任何在头文件中分配内存的事情”
关于文件布局,没有太多选择。
分区通常是以下之一(这里的包是单个库或二进制文件):
分区 (1) 很方便,因为属于特定包的所有文件都存储在一个目录中,因此可以轻松地移动包,但是通过这种方法将 API 标头与私有标头分离并检测 API 更改并非易事。(2) 和 (3) 非常相似,它们使 API 发布和 API 更改检测变得微不足道,而 (2) 在您总是发布整个项目的情况下稍微容易一些, (3) 当您发布单个包时稍微好一些(例如用于修补目的)
在任何 C/C++ 项目中,通常都有以下常用包:
我认为你将在这个主题上获得的最好的教育读物是阅读 Linux Kernel 源代码之类的东西。它有一个很好的源代码布局,基本上是标准的大型 C 项目。这里也是关于如何为 BSD 源代码组合源文件的指南。
说真的,只需开始阅读内核源代码并了解所有内容是如何组合在一起的。显然,这是一个计划得很好的项目。