缘起
第一次接触编程规范,是在我十多年前刚参加工作的第一家公司,虽然规模不大,只有十几个程序员,但是大家终于无法忍受每个人个性化的代码书写方式, 最终讨论制订了一份C++编程规范,很简单,只有几页Word文档,主要是变量命名/格式对齐之类的一些代码可读性方面的约定。
当时对编程规范的印象就是为了统一代码风格,这当然是很肤浅的。
深入
直到后来遇到Google的C++编程规范,发现涉及的面非常广,从头文件包含,到异常使用,到变量命名,几乎涉及到了C++语言的方方面面。
我这才发现编程规范的重要性,感觉学会编程语言只是第一步,不掌握好的编程规范的话,很难写出好的代码。
就好像开车一样,只要会挂挡/打方向/踩油门/踩刹车就算会开车了,但是这样开车出去很容易出事故,还必须学习交通规范/交通礼仪,才是一个合格的好司机,才能一直快快乐乐安全的开车。
编程规范就是保证大家安全编程的交通法规。
华为的进击
华为可以说是目前国内使用C++语言最多的公司,因为其所处的通信行业,一向对运行效率要求非常高,C++就成为当仁不让的选择。
华为第一次制定公司级的C++编程规范大概是在2011年,主要内容是参考了 《Google C++ Style Guide》
几年过去了,C++语言经过了几次大的修订,尤其是C++11,引入