vlambda博客
学习文章列表

C/C++开发工具 | Google编程规范

C/C++ 开发工具选什么?代码风格、编程规范又是什么?这些是初学者很头疼的事情,尤其是选择困难症,担心选了这个,会不会以后要换那个,甚是纠结,那么这篇文章帮你搞定。


良好的编程风格,代码习惯要从一开始就养成,这样代码不仅看起来心情愉悦,更是你成为高手路上必经之地;代码开发工具利用得当,可以使你事半功倍,极大提升工作效率。


我结合这几年的学习历程,以及在大厂真实项目实战中,关于开发工具 + 编程规范的选择,分享给大家。


开发工具


1、Vim


我是大二接触的编程,第一门语言是 C 语言,第一个开发工具是 VC++ 6.0,那会用的还是 win 7 系统,不知道有多少人用 VC 写过代码,真的挺爽的,我的代码风格、编程习惯就是在 VC 上养成的。


快大三的时候,才接触到 Linux,接触到那个黑框框,当时非常痴迷于 Linux 系统,我在实验室的主机装了三系统(win xp、win 7、ubuntu),我的个人笔记本装的是虚拟机,用的 VM(我 VM 可是 8 系统),xshell 连接,那会疯狂研究、对比各个版本的 Linux,有些是做服务器的,有些是做黑客的(比如 kail Linux),Vim 就是在这个阶段学习的。


VM开8系统玩Linux


了解 Vim 的,应该知道可以在用户目录下,建立 .vimrc 文件,配置行号、提示符等(这些配置百度下,一大堆),可以极大的提升你开发代码的效率,就这样 Vim 陪我走完了大学生涯。


Vim 用来写代码,C/C++、Python、shell 都挺不错的,主要针对小型项目、单个文件,以及大学/研究生学习生涯,绝对是首选。


2、Clion


不知道你写过 Java、Python、Go 代码没有,Java 的 IDEA、Python 的 PyCharm、Go 的 GoLand,这些开发工具跟 C++ 的 Clion 如出一辙,是同一家的产品,如果你是 Java/Python/Go 转 C++ 开发,用这个 Clion 简直 perfect。


Java 的 IDEA:

https://www.jetbrains.com/idea/

Python 的 PyCharm:

https://www.jetbrains.com/pycharm/

Go 的 GoLang:

https://www.jetbrains.com/go/

C++ 的 Clion:

https://www.jetbrains.com/clion/


相信你应该看到了,这几门语言的开发工具,其网址简直完全一样,就 query 不同而已,对于这些破解、激活码靠百度搜索,或者关注一些号,是完全可以解决的,这点解决问题的能力应该还是有吧。


Clion 对于写惯了 Java/Python/Go 语言,要转 C++ 的,绝对是首选了,熟悉的感觉,瞬间让你上手,这会极大的提升你的工作效率,节省你的学习成本。


3、VScode


Visual Studio Code 这绝对是写 C++ 代码的大杀器。


我刚毕业那会,牵扯到算法层的开发,是基于内部中台框架,用 C++ 写多 module 来实现业务的,我们组完全会 C++ 的加上我就 2 个人,属于业余水平(本身工作也不是搞 C++ 开发方向),那会我俩一直还是用的 Vim 开发,也不是说效率不高,当工程量大起来,就没那么方便了,还想写项目的 markdown 文档等等,不过对于我影响到没有那么大。


有幸出差跟集团搞索引的同学吃饭聊过,才了解到他们那边面对大型框架、底层 C++ 代码的开发,会使用 VScode,由于我之前习惯 Vim 了,也不是专门搞 C++ 开发,就没有多去了解这方面,当晚我就下了 VScode,并且推荐给了我同事,确实用起来挺香,非常符合 C++ 代码开发的一款工具。


https://code.visualstudio.com/ 


VScode 上面集成了很多插件,包括我熟悉的 C/C++、Vim、Python、Go 扩展插件等,能很方便的用不同插件去开发不同语言的代码,而且完美支持项目书写 markdown 文档。


4、总结


C++ 开发工具,Vim、Clion、VScode 我都用过,在不同阶段其侧重点完全不一样(VC 就不提了,我 15 年用它写的 C 语言,现在应该过时了)。


Vim 作为 Linux 上最高效的文本编辑器,初学阶段一定要熟练掌握 Vim 的各种用法,其不一定要用来写代码,可以作为文本内容处理(增删改查)、特殊字符处理等非常高效,小型项目、以及 shell 脚本用 Vim 开发还是很迅速的。


Clion 我只推荐从 Java/Python/Go 转过来的使用(毕竟是熟悉的感觉),我曾经用过一阵 Clion,当后面接触了 VScode,其实差异并不大,但个人感觉还是 VScode 写 C++ 更爽一些。


熟练掌握 Vim,学习阶段可选择 Vim 开发(注意配置 .vimrc 文件),工作中真实项目开发环境(除脚本外),我目前一直用 VScode,真心感觉 VScode 写 C++ 代码更合适。


想走 C/C++ 开发方向,尽早上手 VScode!


编程规范/代码风格


关于写代码规范,也是公司内部不断强调的一件事情,C++/Java/Python/Go 都不一样,就单说变量的定义:有驼峰式(idName),有下划线(id_name),那么这个就不能再编程中写混了,不然就是最低级的犯错了。


C++ 的编程规范(头文件依赖顺序、缩进、花括号、宏、类名、变量等等),在内部也是不断强调,p8 大牛分享了他之前在百度工作时,按照 Google 的 C++ 编程规范,代码风格进行开发,每个细节我就不再这说了,浓缩为了一张图片,非常的清晰明了。


C 入门系列:

1、

2、

3、

4、

5、

6、

7、

8、

9、
10、


对于目前学习 C 的来说,如果我上面写的都能理解,那算是入门了,其 C 高阶知识点:可变参、多维数组与指针、柔性数组、字节对齐、函数指针/指针函数、函数名的本质等等还有很多。


C++/Java/数据分析/Linux/NLP路线:

1、

2、

3、

4、

5、


写C++的工具我帮你选好了,就用 VScode。