【发布时间】:2011-04-01 17:43:46
【问题描述】:
可能的重复:
Code polisher / reformater for C, C++ or Fortran
Best C++ Code Formatter/Beautifier
我在一个 C++ 项目的团队中工作。部分代码是大型外部库的高度修改版本,不符合我们的编码约定。
图书馆使用这种风格:
void main ()
{
if (somecondition)
{
doStuff (some, parameters);
}
moreStuff (parameter);
}
而我们的风格是这样的:
int main() {
if(somecondition) {
doStuff(some, parameters);
}
moreStuff(parameter);
}
(另外,Stack Overflow 上的编辑器无法显示,但他们的代码使用两个空格进行缩进,我们的代码使用制表符)。
鉴于这几乎只是编辑空白,我想有一些程序可以自动完成大部分工作。
【问题讨论】:
-
有人必须为此编写脚本...
-
虽然我确信有一些实用程序可以重新格式化您的源代码以更改缩进,但我怀疑这些程序会为您修复未定义的行为(例如,修复
main的返回类型) . :-) -
@James:这就是我说“最”的原因:P
-
最好的事情:不要。外部代码应该作为外部代码处理,它不需要遵守你自己的内部规则。认为您应用到库以使其工作的任何修复(真实的,而不是缩进)(包括
main返回类型)都必须应用于您下载的任何新版本。通过仅更改实际行为,您可以制作与格式相比传达语义变化的小差异。然后,您还可以区分旧/新版本并查看需要应用哪些更改以及在何处应用。
标签: c++ coding-style