编程艺术谈谈和分享 Google 编程规范
Posted 极智视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程艺术谈谈和分享 Google 编程规范相关的知识,希望对你有一定的参考价值。
欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
O_o
>_<
o_O
O_o
~_~
o_O
本文介绍和分享一下 Google 编程规范。
刚接触编程的同学往往更加倾向于代码功能的实现,而忽略代码编写规范,这会导致你写的代码极难维护,造成你的代码只有你能看懂的窘境。特别是涉及较大型项目,需要多人协同开发的场景,更是对代码规范的约定与统一要求严苛,这很好理解,代码规范便于项目的迭代、维护与对接。
对于开源项目也是一样,每个较大的开源项目都有自己的风格指南,以便于开源项目的推广,这个风格指南是关于如何为该项目编写代码的一系列约定,当所有代码均保持一致的风格, 在理解大型代码库时会变得更为轻松。风格的含义涵盖范围广, 从变量使用驼峰格式 (camelCase)
到决不使用全局变量
再到决不使用异常
,这些都是代码编程的规范。
Google 经常会发布一些开源项目,意味着会接受来自其他代码贡献者的代码,但是如果代码贡献者的编程风格与 Google 的不一致,会给代码阅读者和其他代码提交者造成不小的困扰。Google 因此发布了《Google 编程规范》这份指南,使所有提交代码的人都能获知 Google 的编程风格。规则的作用就是避免混乱,但规则本身一定需要具有权威性、有说服力并且是理性的,正好 Google 的这份编程规范具有这些特性,目前这份编程规范成为了越来越多开发者代码编程的统一标准,Google 目前已经发布了五份中文版的分格指南:
(1) Google C++ 风格指南;
(2) Google Objective-C 风格指南;
(3) Google Python 风格指南;
(4) Google Shell 风格指南;
(5) Google javascript 风格指南;
当然关于以上的这些在我的公众号里回复 001
你都能拿到,中文版项目采用 reStructuredText 纯文本标记语法,并使用 Sphinx 生成 html / CHM/ PDF 等文档格式。
文章目录
1、Google C++ 风格指南
C++ 是 Google 大部分开源项目的主要编程语言,C++ 是高级编程语言,具有很多强大的特性,但这种强大的特性不可避免的导致它走向复杂,使代码更容易产生 bug,难以阅读和维护。通过详细阐述 C++ 注意事项来驾驭其复杂性,这些规则在保证代码易于管理的同时, 也能高效使用 C++ 的语言特性。C++ 是一门包含大量高级特性的庞大语言,某些情况下,会限制甚至禁止使用某些特性。这么做是为了保持代码清爽,避免这些特性可能导致的各种问题。指南中列举了这类特性,并解释为什么这些特性被限制使用。
关于 Google C++ 风格指南目录如下:
2、Google Objective-C 风格指南
Objective-C 是 C 语言的扩展,增加了动态类型和面对对象的特性。它被设计成具有易读易用的,支持复杂的面向对象设计的编程语言。它是 Mac OS X 以及 iPhone 的主要开发语言。Cocoa 是 Mac OS X 上主要的应用程序框架之一,它由一组 Objective-C 类组成,为快速开发出功能齐全的 Mac OS X 应用程序提供支持。苹果公司已经有一份非常全面的 Objective-C 编码指南,Google 为 C++ 也写了一份类似的编码指南,而这份 Objective-C 指南则是苹果和 Google 常规建议的最佳结合。
关于 Google Objective-C 风格指南目录如下:
3、Google Python 风格指南
Python 是 Google 主要的脚本语言,该风格指南主要包含的是针对 python 的编程准则。随着深度学习的火热,Python 也是拥有着数量庞大的开发者,所以这份风格的受益者也会非常多。
关于 Google Python 风格指南目录如下:
4、Google Shell 风格指南
Bash 是唯一被允许执行的 shell 脚本语言。可执行文件必须以 #!/bin/bash
和最小数量的标志开始。使用 set 来设置 shell 的选项,使得用 bash <script_name> 调用脚本时不会破坏其功能。限制所有的可执行 shell 脚本为 bash 使得我们安装在所有计算机中的 shell 语言可以保持一致性。
Shell 应该仅仅被用于小功能或者简单的包装脚本。尽管 Shell 脚本不是一种开发语言,但在 Google 它被用于编写多种实用工具的脚本。
以下是一些准则:
-
如果你主要是在调用其他的工具并且做一些相对很小数据量的操作,那么使用 shell 来完成任务是一种可接受的选择;
-
如果你在乎性能,那么可以选择其他工具,而不是使用 shell;
-
如果你发现你需要使用数据而不是变量赋值(如 ${phpESTATUS} ),那么你应该使用 Python 脚本;
-
如果你将要编写的脚本会超过 100 行,那么你可能应该使用 Python 来编写,而不是 Shell。当脚本行数增加,尽早使用另外一种语言重写你的脚本,以避免之后花更多的时间来重写。
关于 Google Shell 风格指南目录如下:
5、Google Javascript 风格指南
在 Google 的开源项目中,JavaScript 是最主要的客户端脚本语言。该指南是使用 JavaScript 时建议和不建议做法的清单。
关于 Google Javascript 风格指南目录如下:
以上分享了一下《Google 编程规范》中的一些概要,好好研读肯定会对代码编写水平的提升有很大的帮助。
关注我的微信公众号 极智视界
,回复001
,即可拿到完整版的《Google 编程规范》,快来吧~
【公众号传送】
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
以上是关于编程艺术谈谈和分享 Google 编程规范的主要内容,如果未能解决你的问题,请参考以下文章
分享《R语言编程艺术》+PDF+源码+Norman Matloff+陈堰平 邱怡轩 潘岚锋 熊熹
编程艺术剖析 darknet parse_network_cfg 接口