发现一份 Google 代码规范,教你写出好代码!
本文已收录Github: imcoderlemon/CodeClass内含 1000 本计算机开源电子书、学习资源、简历面经,欢迎star
代码是程序员改变世界的工具,每个程序员都会写代码,但不一定能写出好代码。
如今的大型商业软件系统代码量巨大,早已不是凭借一人之力可以完成,当然有些天才选手除外,比如Linux之父 Linus Torvalds 一人写了初代Linux内核,微信之父张小龙一人写了Foxmail邮箱,求伯君一人完成WPS1.0。
大部分程序员的工作是流水线形式的软件开发,每人负责开发大系统中的一个小模块,要么怎么会说大厂拧螺丝呢,这时候编码规范在团队开发中就显得尤为重要了,遵循代码规范开发,更容易写出可读性高、易维护的代码。
刚引入编码规范,为了适应代码规范可能需要额外的时间,如果规范的要求和你平常的编码习惯不同,还可能会影响了开发效率,但和日后的收益比起来,这些阵痛都是暂时的。
当团队统一使用一种风格编码,带来的收益是巨大的,这时即使看一份不是你写的程序代码,有统一的代码结构、变量命名、甚至注释风格,也非常容易理解。
学 C++ 一定要看《Effective C++》,这本书就是 C++ 大师公开的最佳实践,讲了编写出优秀C++代码的55个建议。代码规范从某种程度上来说,是编程习惯的最佳实践,好的编码规范,让我们以最少踩坑、最少沟通成本的完成软件开发。
代码规范因团队和组织而异,我所有待过的几个公司,甚至团队都有不同的代码规范,当然有些小公司直接参考了业界的规范,好的代码规范值得我们学习,比如 Google 的开源项目代码规范。
这个规范目前包含了C++\Object-C\Python\Shell\Javascript
这 5 种编程语言风格指南,可以先来看下目录。
关于C++的规范,也截取部分出来,整体来看是比较细致,且有实践指导意义,比如对于头文件定义的约束:
所有头文件要能自给自足,用户和重构工具不需要为特别场合而包含额外头文件
再比如,很多人不是很了解 C++ 的前置声明,我曾经就在知乎回答过类似的问题,这个规范不但解释了何为前置声明,还告诉你哪些情况下要用它,哪些情况下使用前置声明会带来的问题。
下图截取自 Python 编码规范:
shell编码规范:
javascript 编码规范:
Objective-C 编码规范:
可以看到,谷歌的这份编码规范,还是非常有价值的!PDF 版本已经有同学在评论区给出,需要的同学自取。
觉得这份资料不错,记得点个赞同哟ღ( ´・ᴗ・` )比心,后续有好资料继续分享出来~
我是 @程序员柠檬,关注我,学习更多编程知识!
加个餐
从事软件行业这么些年,开始也有迷茫、不知方向,也不懂要看啥书学些什么内容,为了避免这样的问题,我整理了程序员进阶书单,让你少走些弯路。
另外,对于开发人员来说,计算机基础比算法还重要,很多同学非计算机科班或者科班在校没学好,可以看看国内一流大学的计算机专业学习内容。
下面这个项目是我在学习计算机基础的过程中收集,包含了浙大计算机专业 4 年所学内容:教材+课件+试卷+PPT等等:
如果觉得有帮助,记得帮我点赞、收藏、分享给更多需要的小伙伴~
我是柠檬,关注我涨知识。
文章来源:个人博客「后端技术学堂」
文章链接: 40 篇原创技术文章,助你编程能力突飞猛进!
如果你也是编程和计算机爱好者,看下我的其他回答,或许对你有帮助:
后端都要学习什么?
C++后台开发有哪些练基础的开源项目?
用一年时间如何能掌握 C++ ?
Visual Studio Code 如何编写运行 C、C++ 程序?
有没有什么好的C++视频教程?
研究生生涯还剩两年,学C++(达到可以找工作的标准)时间够用吗?
学习C++,应该循序渐进的看哪些书?
什么是微服务架构?
线程和进程的区别是什么?