<返回更多

谷歌代码风格指南

2021-09-08    GitHub精选
加入收藏

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个谷歌代码风格指南项目——styleguide。

 

严谨的代码风格能够给人良好的印象和更佳的易读性,在实际的开发中,经常会遇到这样一种情况,明明是自己的代码,过了一段时间就完全不认识了。所以,对于初学者来说,必须要建立良好的编程习惯,这其中就包括代码风格,例如,首行缩进、关键词之后加空格、驼峰命名法等等,由谷歌开源的项目styleguide提供了包括C++、C#、JAVAPython/ target=_blank class=infotextkey>Python等数10种编程语言的代码风格,大家参考模仿就能轻松写出高质量的代码。

GitHub精选 | 谷歌代码风格指南

 

示例:

头文件

所有头文件都应该有#define保护以防止多次包含,为了保证唯一性,它们应该基于项目源代码树中的完整路径

#ifndef FOO_BAR_BAZ_H_

#define FOO_BAR_BAZ_H_

...

#endif // FOO_BAR_BAZ_H_

命名规则

使用描述对象目的或意图的名称

class MyClass {

public:

int CountFooErrors(const std::vector<Foo>& foos) {

int n = 0; // 给定有限的范围和上下文

for (const auto& foo : foos) {

...

++n;

}

return n;

}

void DoSomethingImportant() {

std::string fqdn = ...; // 众所周知的完全限定域名的缩写

}

private:

const int kMaxAllowedConnections = ...; // 在上下文中明确含义

};

函数声明和定义

返回类型与函数名在同一行,参数尽量在同一行

ReturnType ClassName::FunctionName(Type par_name1, Type par_name2) {

DoSomething();

...

}

参数太多可以换行

ReturnType LongClassName::ReallyReallyReallyLongFunctionName(

    Type par_name1, // 4 个空格缩进

    Type par_name2,

    Type par_name3) {

  DoSomething(); // 2 个空格缩进

...

}
GitHub精选 | 谷歌代码风格指南

 

包名

包名都是小写的,连续的单词简单地连接在一起(没有下划线)

正确:com.example.deepspace

错误:com.example.deepSpace或 com.example.deep_space

类名

类名用大驼峰命名法,通常是名词或名词短语

Character或 ImmutableList

测试类的命名以它们正在测试的类的名称开头

HashTest或 HashIntegrationTest

方法名

方法名用小驼峰命名法,通常是动词或动词短语

sendMessage或 stop
GitHub精选 | 谷歌代码风格指南

 

局部变量声明

局部变量通常不会在其包含块或类块构造的开始处声明;

每个局部变量声明只声明一个变量,不使用let a = 1, b = 2;此类的声明

属性注释

必须记录属性类型,如果代码提供了足够的说明文档,则可以省略私有属性的描述

/** My class. */

class MyClass {

/** @param {string=} someString */

constructor(someString = 'default string') {

/** @private @const {string} */

this.someString_ = someString;
}

}

GitHub精选 | 谷歌代码风格指南

 

其他:

GitHub精选 | 谷歌代码风格指南

 


GitHub: https://github.com/google/styleguide

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>