google c++ style

1. 头文件命名规范

#ifndef <project>_<path>_<file>_H_

#define <project>_<path>_<file>_H_

#endif <project>_<path>_<file>_H_

例子:

#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_
...


#endif  // FOO_BAR_BAZ_H_
说明 文件src/bar/baz.h文件在项目FOO中


2.  尽量声明完局部变量给其初值

int i ;

i = g();  // Bad

int i  = g(); // good

vector<int> v;

v.push_back(1);

        v.push_back(2); // prefer --

       vector<int> v = {1,2} ; // good --


3. 如果一个类中需要复制或赋值功能,尽可能提示类似CopyFrom()或Clone()等成员函数,而禁掉复制构造函数与赋值重载=函数,因为这样能避免隐式转换,

如果想禁掉复制或赋值能函数,只需要在private里声明,但是不实现,这样别人调用时就会提示link error,方法如下

#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
  TypeName(const TypeName&);               \
  void operator=(const TypeName&)

       Then, in class Foo:


class Foo {
  public:
  Foo(int f);
  ~Foo();

private:
  DISALLOW_COPY_AND_ASSIGN(Foo);
};


4. 命名规则

  4.1 文件命名

文件名应该全部小定,可以包括下划线("_")和连接符(“-”)

              Examples of acceptable file names:


my_useful_class.cc
my-useful-class.cc
myusefulclass.cc
myusefulclass_test.cc

内联功能必须在.h里面,如果你的内联代码非常短,直接在.h里给出实现

  4.2 类型命名

类型应该以大写字母开始,每一个新的单词都应该以大写开头,不要有下划线,classes, structs, typedefs, and enums都使用这一规则

       // classes and structs
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...


      // typedefs
typedef hash_map<UrlTableProperties *, string> PropertiesMap;


      // enums
enum UrlTableErrors { ...

4.3 变量命名

变量命名全是小写,可以随便有下划线(“_”),如果是类的成员变量带上m_,如果是全局变量使用g_开头

            For example:
string table_name;  // OK - uses underscore.
string tablename;   // OK - all lowercase.
string tableName;   // Bad - mixed case.

4.4 常量命名

不管是什么常量变量,统一使用k开头

const int kDays = 365;

4.5 函数命名

常规的函数应该以一个大写字母开头,中间不能有下划线

例如:

 AddTableEntry()

DeleteUrl()

set与get类型的函数,他们以变量命名规则

例如:

void setnum(int num); or void set_num(int num);

int getnum(int num); or    int  get_num(int num);

4.6 命名空间(namespace)

所有字母小写,可以依据项目名 路径名 类名结合来命名,自由发挥

4.7 枚举命名

简单点说,枚举全大写,并且可以有下划线

例如:

ENUM_NAME

4.8 宏命名(macro)

与枚举一样

例如:

#define ROUND(x) ...
#define PI_ROUNDED 3.0

4.9 每行代码长度不要超过80

4.10 对于要表达式要换行显示,逻辑符号永远在上一行末尾

例如:

if( aaaaaaaaaaaa == 10 &&

    bbbbbbbbbbbb == 11 &&

   cccccccccccccc == 12 )

{

}


以上来源于http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

本人只是简单的翻译了一些自己想记录的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Google C++编程风格指南是Google推出的一份针对C++语言的编程规范和最佳实践指南。它为开发人员提供了一些关于代码结构、命名约定、注释规范、编程技巧等方面的指导,以帮助实现高效、可读性好、维护性强的C++代码。 该指南的目标是提高代码质量和风格的一致性,使团队中的所有开发人员都能遵循相同的编码规范。这样可以促进代码的可读性和可维护性,避免因不规范的代码导致的bug和错误。 Google C++编程风格指南主要围绕以下几个方面进行了详细的规范说明: 1.命名规范:指导了变量、函数、类、命名空间等的命名规则,使命名具有描述性和可读性。 2.代码布局:指导了代码缩进、换行等格式规范,使代码结构清晰、易于阅读。 3.注释规范:指导了注释的写法和内容,使注释可以更好地解释代码的意图和逻辑。 4.错误处理:指导了如何处理错误和异常情况,以及如何做好错误处理的文档。 5.性能优化:指导了一些C++编程的性能优化技巧,使代码在性能上更高效。 除此之外,该指南还包含了一些关于C++标准库、代码组织和文件组织等方面的规范建议,以帮助开发人员更好地编写高质量的C++代码。 总之,Google C++编程风格指南是一份很有价值的编程规范文档,它不仅可以提高团队协作中代码的质量和一致性,也可以提升开发人员编写C++代码的水平和技巧。 ### 回答2: 谷歌C语言风格指南是由谷歌公司提供的一套编码规范,旨在帮助开发人员编写更加规范、可维护和可扩展的C语言代码。这个风格指南可以作为参考,帮助开发人员遵循一些统一的编码规范。 该风格指南是一个PDF文档,可以通过在谷歌搜索中输入"google c style guide pdf"来获取。在搜索结果中可能会找到来自谷歌官方或其他信任来源的链接,点击链接即可下载该PDF文件。 该指南涵盖了一系列主题,包括命名规则、注释风格、缩进和排版、函数和类的设计、错误处理、变量和常量的使用等等。通过遵循这些指南,开发人员可以编写出更规范和易读的代码,提高代码的可重用性和可维护性,减少出错的可能性。 需要注意的是,谷歌C语言风格指南并没有硬性要求每个开发人员都必须遵守,而是提供了一些最佳实践和建议。开发团队或个人可以根据自身需求和偏好进行适当的调整。 总之,谷歌C语言风格指南是一个有价值的资源,可以帮助开发人员编写更加规范和高效的C语言代码。 ### 回答3: 首先,"Google C++ Style Guide" 是一份Google为了统一团队内C++代码编写风格而发布的指南。这个指南非常详细,并覆盖了各种C++编码规范和最佳实践。 这个指南的PDF版本可以通过在Google搜索中输入"google c++ style guide pdf"来找到并下载。用户可以通过点击搜索结果中的链接,进入相关页面,并选择下载相应的PDF版本。 在这个指南中,可以学到很多关于C++编码规范的信息,包括命名规范、注释规范、代码风格、文件和目录结构等等。该指南中的规范是Google工程师们多年编码经验的总结,值得借鉴和学习。 使用这个指南可以帮助开发人员遵循一致的编码风格,从而提高代码的可读性和可维护性。而且,该指南还可以帮助团队在代码审查过程中更好地相互沟通,从而提高团队合作效率。 总之,通过查找并下载"Google C++ Style Guide"的PDF版本,开发人员可以学习并应用其中的C++编码规范和最佳实践,提高代码质量和团队协作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值