C的编码样式检查器

时间:2009-01-04 16:46:07

标签: c coding-style

我正在为一家公司工作,该公司有严格的编码风格指南,但没有自动工具来验证它们。我环顾四周,我能找到的唯一工具就像工具似乎旨在验证代码的作用,防止错误,而不是确保编码风格是正确的。

我们应该使用什么工具呢?

注意:我正在为C代码寻找一些东西,尽管适用于C ++的东西也会很好。

9 个答案:

答案 0 :(得分:12)

传统的美化indent,可在每台Unix机器上使用。在某些版本上找到的版本是GNU indent,可以在每台机器上编译和安装。 GNU缩进可以从文件~/.indent.pro读取一组规则,例如:

--original --dont-format-first-column-comments --no-blank-lines-after-commas --parameter-indentation 8 --indent-level 8 --line-length 85 --no-space-after-parentheses --no-comment-delimiters-on-blank-lines 

因此,在提交之前运行缩进可以保证演示的一致性。如果你想强制执行它,在你使用的版本控制系统中定义一个预提交钩子,如果提交的版本与缩进产生的版本不同,它将运行缩进并拒绝提交。

答案 1 :(得分:10)

您正在寻找“code beautifier”。 Uncrustify是免费的。

您只需要能够在其配置文件中描述您的编码风格,并确保每个文件都符合所描述的风格。

答案 2 :(得分:9)

AStyle做你想做的事:

  

Artistic Style是C,C ++,C#和Java编程语言的源代码压缩器,格式化器和美化器。

Eclipse有一个AStyle Plugin

Eclipse也有代码格式化程序,但我不确定它是否适用于CDT。

答案 3 :(得分:4)

有(或有)许多工具。其中最古老的是cb(C Beautifier),它出现在Unix的古老版本中 - 意味着,在这种情况下,版本7 Unix:

CB ( 1 ) UNIX Programmer’s Manual CB ( 1 )

NAME
    cb – C program beautifier
SYNOPSIS
    cb
DESCRIPTION
   Cb places a copy of the C program from the standard input on the standard
   output with spacing and indentation that displays the structure of the
   program.
BUGS

GNU indent是一个非常复杂和可配置的野兽。还有商业工具。例如,Abraxas Software提供了CodeCheck工具,例如;我们在90年代中期曾短暂地使用过它,但它希望我们做出的改变(非常必要,但是)对管理过于干扰。

答案 4 :(得分:3)

您可以使用clang-format。更多信息可以在官方网站上找到: http://clang.llvm.org/docs/ClangFormat.html

答案 5 :(得分:2)

我反对在这里使用正式工具。编码标准的最佳执行是同伴压力。团队成员之间的同伴压力和相互尊重是团队建设环境的关键要素......当有人无意中“破坏构建”等时,必须进行良好的性质骚扰。

审核较新的团队成员代码是学习过程的关键部分,并融入团队并学习编码标准等。如果编码标准太复杂或太微妙而无法以这种方式获取,那么要寻找一种工具来验证标准,你应该寻找新的编码标准。

答案 6 :(得分:2)

来自类似的问题:Vera++

  

Vera ++是一种用于验证,分析和验证的可编程工具   转换C ++源代码。

     

Vera ++预见的主要使用场景是:

     

确保源代码符合给定的编码标准   和惯例。

     

提供源代码指标和统计信息。

     

执行源代码的自动转换,范围从漂亮打印到诊断到故障注入和高级测试。

答案 7 :(得分:2)

尝试UniversalIndentGUI,它是流行的压头/美化器(如Uncrustify,Artistic Style和GNU Indent)的GUI包装器。它的GUI和实时预览功能使得尝试不同的压头非常容易,一旦你找到了你喜欢的压头和配置,就可以导出配置甚至导出shell脚本。很棒,如果你还在尝试的话。

答案 8 :(得分:-7)

请使用VIM并享受轻松。 您可以通过简单的命令执行与源编程相关的任何操作。 您还可以通过编辑.vimrc文件使VIM更加可靠和强大。 它的帮助对你有很大的帮助。

/ renjith g

相关问题