您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

谷歌代码风格指南

时间:2021-09-08 15:13:22  来源:  作者:GitHub精选

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

 

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

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

 

示例:

  • C++ 风格指南

头文件

所有头文件都应该有#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精选 | 谷歌代码风格指南

 

  • Java 风格指南

包名

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

正确: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



Tags:GitHub   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告&mdash;&mdash;《2021 年度 O...【详细内容】
2021-12-17  Tags: GitHub  点击:(9)  评论:(0)  加入收藏
github加速利器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。复杂的网络问题github连接不上 代码pull/push失败...【详细内容】
2021-11-12  Tags: GitHub  点击:(76)  评论:(0)  加入收藏
一、国内访问github慢的原因GitHub在国内访问速度慢的问题原因有很多,但最直接和最主要的原因是GitHub的分发加速网络的域名遭到dns污染。可通过修改系统hosts文件的办法,绕过...【详细内容】
2021-09-15  Tags: GitHub  点击:(94)  评论:(0)  加入收藏
本文推荐 GitHub 和 Gitee 上比较热门的电商开源项目,包括前后端分离、微服务架构等,同时具备 PC、移动端、小程序。01. 新蜂电商第一个电商项目:newbee-mall,这个系统的名称是...【详细内容】
2021-09-14  Tags: GitHub  点击:(71)  评论:(0)  加入收藏
《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个谷歌代码风格指南项目&mdash;&mdash;styleguide。 严谨的代码风...【详细内容】
2021-09-08  Tags: GitHub  点击:(84)  评论:(0)  加入收藏
今天给大家推荐Github上排行第一的库,可以看到目前已经有329k的星星了。它其实是一个非盈利机构搭建的一个沉浸式学习网站,主要的前端的一些东西,当然也有部分后端的内容。 网...【详细内容】
2021-09-03  Tags: GitHub  点击:(69)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译链接:https://github.com/FavioVazquez/ds-cheatsheets 一位来自瑞典的程序员Andreas Kling,前不久他发表了一篇《I quit my job to focus...【详细内容】
2021-08-25  Tags: GitHub  点击:(99)  评论:(0)  加入收藏
一、安装PicGoPicGo是一款图片上传的工具,目前支持微博图床,七牛图床,腾讯云,又拍云,GitHub等图床,支持配置自定义访问链接,结合typora使用非常方便,当在typora中插入图片时,可以实现...【详细内容】
2021-08-04  Tags: GitHub  点击:(73)  评论:(0)  加入收藏
无兄弟,不篮球;无github,不代码。github和stackoverflow是程序员们的最爱,哪怕是github总是在抽疯,虐了程序员们千百遍,但他们还是想各种办法艰难地在github分享他们优秀的代码,...【详细内容】
2021-07-26  Tags: GitHub  点击:(95)  评论:(0)  加入收藏
github是一个面向开源及私有软件项目的托管平台,什么叫面向开源呢?说白了就是把代码共享,微软以前并不秉持着开源的态度,企图以windows占有率坐拥江山,可惜开源共享的大势谁都不能阻挡,哪怕是微软帝国。这不,斥资把这个国际...【详细内容】
2021-07-21  Tags: GitHub  点击:(133)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的&emsp;&emsp;程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条