C代码布局和如何区分代码的不同部分?

C代码布局和如何区分代码的不同部分?,c,coding-style,C,Coding Style,在C代码中,如何分离代码的不同部分,例如实现、全局等?有编码标准吗。我见过很多方法,但我更喜欢哪一种,我想得到社区对此的意见 /********************************************************* * GLOBALS * *********************************************************/ 或 或者类似的

在C代码中,如何分离代码的不同部分,例如实现、全局等?有编码标准吗。我见过很多方法,但我更喜欢哪一种,我想得到社区对此的意见

/********************************************************* 
 *                        GLOBALS                        *
 *********************************************************/

或者类似的东西

编辑:让我澄清一下,我正在寻找更喜欢的方式。实际上不是标准。你在项目中看到了什么,或者你自己用过什么?第二点是我喜欢阅读代码,如果在通过有限的控制台屏幕查看代码时有什么东西可以帮助您理解不同的部分,我会将其添加到标准中。代码的布局和它的作用一样重要。
因此,第一个要求是,在一页一页快速滚动源代码时,必须容易注意到这样的分隔符

标准就是您定义的标准。最重要的是定义一个标准,然后坚持它

关于代码风格有很多争论,特别是关于C,因为它的灵活性。可以找到一个很好的选项列表


linux内核风格和GNU风格是非常常见的。最重要的是,无论你做什么,你的代码都是自一致的。这也适用于编辑其他人的代码——即使你不喜欢他们的样式选择,你也必须遵守他们的规则,以使将来的合并和修改更容易。

我从来没有真正看到过这种注释中的一点(另一种常见的注释是类似的函数标题,只有函数名)。如果您需要找到一个特定的标识符,不管它是什么,
ctags
——或者更好的是,一个像样的IDE,都可以帮您找到。这样的组织还有什么其他价值呢?

没有社区编码标准本身,除非你所在的社区强制执行。由您和/或您的团队决定您想要采用的标准,并亲自确定您喜欢的标准


然而,有一些标准程序员倾向于在没有注意到的情况下使用。其中大部分都可以在这个网站上找到(相当旧)。

我会使用第二个版本;它更简单,更容易维护

对于初学者来说,这种分段往往比那些有阅读C语言经验的人更为重要。大多数C源文件都有一个强大的基本结构:

  • 开场白(项目和文件标识、版权和许可、对其内容的基本解释)

  • 头文件,可能带有一些#define(例如,选择特定版本的POSIX)

  • 本地类型定义、宏等。还有全局变量(如果有的话)

  • 局部声明(变量、静态函数)

  • 文件中的函数

可能会有一些变化,但在文件中部分声明文件静态(或者更糟糕的是,全局)变量被视为不好的做法——额外的头也一样


但这些部分之间可能没有任何正式的区分。请记住,框注释很难维护,但是节分隔符很少更改,所以它们之间没有太多选择。如果我使用了任何东西,我可能会使用一行注释将全局与以前的内容区分开来。

如果你想让社区对这样的问题发表意见,我认为你应该让它成为社区wiki…+1,但我认为这是一个坏例子。它更可能是关于分组的——处理这个的函数,处理那个的函数,等等。
/*
 * GLOBALS
 */