【发布时间】:2011-03-29 15:24:06
【问题描述】:
This question 询问编码样式检查器,但重点似乎是缩进和大括号放置。 GNU indent 处理缩进(这在这个代码库中不是问题,令人惊讶的是)。
我正在处理一堆充满各种命名方案的代码:camelCase、everythingruntogetherinlowercase、underscores_as_separators、SomeStructsEndWithT 等。
我希望能够选择一个约定,并且至少可以自动检查新更改是否符合约定。
在 C 中检查命名是否有好的工具?类似于 Python 的 pep8 检查器工具,我不想要美化器。
谢谢。
【问题讨论】:
-
在大多数情况下,几个正则表达式可能会涵盖这一点。结合现有的词法分析器,可以轻松忽略除标识符之外的所有内容。
-
Linux 内核有一个用 Perl 编写的名为 checkpatch.pl 的样式检查器脚本。它在 linux/scripts 下。
-
您想要做的真正问题是您可能会在区分大小写的语言上执行此操作,并且有两个字母相同但大小写不同的变量。然后,您可能最终会破坏您的代码。我会非常谨慎地处理这个问题。
-
@hvanbrug 这正是为什么拥有一致的案例风格很重要,因此这个问题;具有相同名称但大小写不同的变量对于编译器来说可能没问题,但会让人类维护者感到困惑。
-
我同意,这确实需要在项目开始时执行,而不是进行到一半(但有时你别无选择,我知道)。
标签: c coding-style naming-conventions