Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想为我的c+;添加一些标准规则吗+;项目 我的团队正在开发Linux上的C++项目。我们使用vim作为编辑器。我想在我们的团队中强制执行一些代码标准规则,如果代码与之不一致,则在构建或编译时会抛出某种警告或错误。不一定是构建的,但至少我可以在代码上运行一些插件或工具,以确保它符合标准。因此,在提交到svn之前,每个人都需要通过某种插件或脚本运行代码,并确保它满足要求,然后只有他/她才能提交。不确定我们是否可以为vim添加一些规则,如果有,请告诉我_C++ - Fatal编程技术网

想为我的c+;添加一些标准规则吗+;项目 我的团队正在开发Linux上的C++项目。我们使用vim作为编辑器。我想在我们的团队中强制执行一些代码标准规则,如果代码与之不一致,则在构建或编译时会抛出某种警告或错误。不一定是构建的,但至少我可以在代码上运行一些插件或工具,以确保它符合标准。因此,在提交到svn之前,每个人都需要通过某种插件或脚本运行代码,并确保它满足要求,然后只有他/她才能提交。不确定我们是否可以为vim添加一些规则,如果有,请告诉我

想为我的c+;添加一些标准规则吗+;项目 我的团队正在开发Linux上的C++项目。我们使用vim作为编辑器。我想在我们的团队中强制执行一些代码标准规则,如果代码与之不一致,则在构建或编译时会抛出某种警告或错误。不一定是构建的,但至少我可以在代码上运行一些插件或工具,以确保它符合标准。因此,在提交到svn之前,每个人都需要通过某种插件或脚本运行代码,并确保它满足要求,然后只有他/她才能提交。不确定我们是否可以为vim添加一些规则,如果有,请告诉我,c++,C++,例如,在我们的代码标准中,所有成员变量和私有函数都应该以_ class A{ private: int _count; float _amount; void _increment_count(){ ++_count; } } 因此,如果变量声明如下,我想为这个类抛出一些警告、错误或某种消息 class A{ private: int count; float amount; void increment_count(){ ++_count; }

例如,在我们的代码标准中,所有成员变量和私有函数都应该以_

class A{
private:
    int _count;
    float _amount;
    void _increment_count(){ ++_count; }
}
因此,如果变量声明如下,我想为这个类抛出一些警告、错误或某种消息

class A{
private:
    int count;
    float amount;
    void increment_count(){ ++_count; }
}
请注意,警告和错误并非来自编译器,因为COZ程序仍然有效。它来自我想要使用的工具,因此代码可以进行重新分解,但在可执行端仍然可以正常工作

我正在寻找某种插件或预解析器或脚本,这将帮助我实现所有这一切


目前我们使用svn;只需回答一下评论。

编码风格完全取决于您自己(或团队)的偏好,因此找到一个完全符合您需要的工具这将有点困难

无论如何,如果您已经有了一个包含编码风格规则的文档或列表,我建议您使用一些易于管理的语言(如ruby或python)编写一个脚本,然后在git存储库中编辑您的“提交钩子”,包括对每个CPP和头文件执行此脚本,最后根据脚本的输出接受或拒绝提交


关于。

我建议使用提交钩子,以便在提交时运行一个脚本来授权(或不授权)提交,如果可能,以友好的方式报告错误

在这方面有两个感兴趣的项目:

    < LI> CyPython绑定允许您浏览Python中的C++代码,这样您就可以检查文件(显然,只更改了那些,以最小化运行时)
  • 有一个项目使用CLang后端通过这些相同的Python绑定在
    vim
    中提供自动完成
如果您对其中任何一个感兴趣,可以在上询问。

我发现了一个似乎很有前途的工具(),但我还没有尝试过。如果它是可编写脚本的,并且您可以在subversion中使用钩子来触发它的测试,那么它将是完美的:)


my2c

格式标准?变量命名标准?功能层次标准?您可以澄清一下,让我们更好地了解您在寻找什么,或者给出您的团队标准的示例。使用源代码管理系统的“提交挂钩”功能可能更好地完成这类工作。您使用的是哪种源代码管理系统?如果这都是新代码,部分解决方案,但也是低挂果实是使用编译器选项,并强制警告为错误。例如,对于gcc,使用-Weffc++包括Meyers的一些建议。我强烈建议使用静态分析工具,例如超出编译器可以警告您的范围。前面带有下划线的标识符保留用于实现,这不是一种好的执行风格。从最佳角度来说,这样的钩子应该配置为在所有提交上运行。应拒绝提交到主干的违反代码的行为,功能分支应接受提交,但应通过电子邮件将报告发送给作者。