【问题标题】:C Code layout and how to separate different sections of code?C代码布局以及如何分隔不同的代码部分?
【发布时间】:2009-10-28 21:22:56
【问题描述】:

在 C 代码中,您如何分隔不同的代码部分,例如实现、全局等?有没有编码标准。我见过很多方法,但哪种方法更受欢迎,我想获得社区对此的意见..

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

/*
 * GLOBALS
 */

或者类似的?

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

【问题讨论】:

  • 如果您希望社区对此类问题发表意见,我认为您应该将其设为社区 wiki...

标签: c coding-style


【解决方案1】:

关于代码风格有很多争论,尤其是关于 C 语言,因为它的灵活性。可以在here 找到大量选项。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • +1,但我认为这是一个不好的例子。更有可能是关于分组——处理这个的函数,处理那个的函数等等。
    【解决方案3】:

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

    • 开篇评论(项目和文件标识、版权和许可、内容的基本解释)。

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

    • 局部类型定义、宏等。还有全局变量,如果有的话。

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

    • 文件中的函数。

    可能会有变化,但在文件的中途声明文件静态(或更糟糕的是,全局)变量被视为不好的做法 - 同上额外的标头。

    但可能没有任何正式的分隔这些部分。请记住,box cmets 更难维护 - 但部分分隔线很少更改,因此它们之间没有太多选择。我可能会使用单行注释将全局变量与之前的内容分开 - 如果我使用任何东西的话。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          然而,程序员往往会在没有注意到的情况下使用某些标准。其中大部分都可以在这个(相当旧的)page 上找到。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-11-13
            • 1970-01-01
            • 2017-03-01
            • 1970-01-01
            • 2010-10-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多