作者:朱金灿
来源:http://blog.csdn.net/clever101/
粗粗地通读了《Google C++编程风格指南》,初步的感觉是:对如何用好C++的高级特性有比较好的描述,如果作为公司编码规范的话,是林锐的《高质量C++编程指南》的很好的补充,但不适宜全面作为商业公司的编码规范。事实上它是Google C++开源项目的一份约定的编码规范。从中你也可以悟到:商业公司的编码规范和开源项目的编码规范是存在一定区别的。可能你要问:区别在哪里?开源项目的价值在于传播,具体就是使用的人越广,它的价值越大,这个主要是从社会效益评价的;而商业项目则是由市场来评价的,这个主要从经济效益方面评价的。基于这一点的不同,开源项目编码规范侧重于普适性和共同约定性,所谓普适性是指应尽可能让代码能多个平台上运行,共同约定性是遵循大多数开发人员的约定;商业公司的编码规范当然有共同约定性,但其着眼点应在于代码质量和开发效率。记得之前在公司讨论代码规范时,有同事说禁止用使用#pragma once;作为包含保护,因为GCC不识别这个,我则表示反对,因为我们使用VS来开发产品的。我倒不是反对跨平台和遵循C++标准,而是因为跨不跨平台不仅仅是一个技术问题,它从技术、市场以及公司的发展方向等多方面决定的,就是说跨平台综合衡量是良好时就应选择跨平台,否则盲目的跨平台将会得不偿失。
跨平台方面是这样,公司的开发环境选择、技术路线的确立又何尝不是如此呢?