C代码布局以及如何分隔代码的不同部分?

时间:2009-10-28 21:22:56

标签: c coding-style

在C代码中,如何分隔代码的不同部分,例如Implementation,Globals等?有编码标准吗?我见过很多方法,但哪一方更受欢迎,我希望得到社区的意见..

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

/*
 * GLOBALS
 */

或类似的东西?

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

6 个答案:

答案 0 :(得分:3)

由于其灵活性,有很多关于代码风格的论据,尤其是关于C的代码风格。可以找到一个很好的选项列表here

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

答案 1 :(得分:3)

我从来没有真正看到过这种评论中的一个观点(另一个经常看到的是函数的类似标题,它只有函数名称)。如果你需要找到一个特定的标识符,无论它是什么,ctags - 或者更好的是,一个不错的IDE,可以为你做到这一点。这个组织还有什么其他价值?

答案 2 :(得分:2)

对于初学者而言,这种切片对于阅读C的人来说往往更为重要。大多数C源文件都有一个强大的基本结构:

  • 打开评论(项目和文件标识,版权和许可,其中包含的内容的基本说明)。

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

  • 本地类型定义,宏等。如果您有任何全局变量,也是全局变量。

  • 本地声明(变量,静态函数)。

  • 文件中的功能。

可能有变化,但在文件的一部分声明文件静态(或更糟糕的是,全局)变量被视为不好的做法 - 同样额外的标题。

但可能没有任何正式的分隔这些部分。请记住,框评论难以维护 - 但部分分隔符很少改变,因此它们之间没有太多选择。我可能会使用一行注释将全局变量与以前的变量分开 - 如果我使用了任何东西。

答案 3 :(得分:1)

标准是您定义的标准。最重要的是定义 a 标准,然后坚持下去。

答案 4 :(得分:1)

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

答案 5 :(得分:0)

除了您所执行的社区之外,没有社区编码标准本身。由您和/或您的团队决定您想采用什么标准并亲自看看您喜欢的标准。

然而,程序员倾向于使用某些标准,甚至没有注意到。其中大多数都可以在这个(相当古老的)page上找到。