我有一个代码库,被许多人接触。虽然大多数人都努力保持代码格式良好(例如一致的缩进和括号使用),但有些人不这样做,甚至那些这样做的人也不能总是做到,因为我们都使用不同的编辑器,所以设置如空格与制表符是不同的。
有没有标准的代码检查工具,可以检查代码是否格式正确,但实际上不改变它(类似于indent,但仅返回错误和警告)?
虽然这个问题可以作出一般性的回答,但我的重点是C和C++,因为这个项目是用这两种语言编写的。
我有一个代码库,被许多人接触。虽然大多数人都努力保持代码格式良好(例如一致的缩进和括号使用),但有些人不这样做,甚至那些这样做的人也不能总是做到,因为我们都使用不同的编辑器,所以设置如空格与制表符是不同的。
有没有标准的代码检查工具,可以检查代码是否格式正确,但实际上不改变它(类似于indent,但仅返回错误和警告)?
虽然这个问题可以作出一般性的回答,但我的重点是C和C++,因为这个项目是用这两种语言编写的。
Linux内核使用一个工具来做到这一点 - 它被称为checkpatch
。您需要修改它以检查 您自己的 编码标准,而不是他们的标准,但它可以成为工作的良好基础。(它也是为C代码而设计的,而不是C++代码)
有几个程序可以在保存时自动为您进行格式化(例如Eclipse)。您可以拥有每个人都可以使用的格式设置,确保相同的格式。
还可以在提交代码时自动应用此类格式。当您使用SVN时,执行此操作的系统称为svn hooks。这基本上启动一个程序来处理(或检查和拒绝)提交时的格式化。
此网站解释了如何制作您自己的程序。但是已经存在可以执行此操作的程序。