<b>Google C++编程气势指南(八):法则之例外</b>[VC/C++编程]
本文“<b>Google C++编程气势指南(八):法则之例外</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
编程气势指南的利用要点在于供应一个大众的编码标准,全部人可以把精神集合在实现内容而不是表现情势上.我们给出了全局的气势标准,但部分的气势也很重要,假如你在一个文件中新加的代码和原有代码气势相去甚远的话,这就破坏了文件本身的整体美好也影响阅读
法则之例外
前面阐明的编码习惯基本是强迫性的,但全部优异的法则都答应例外.
1. 现有不统一代码(Existing Non-conformant Code)
关于现有不符合既定编程气势的代码可以网开一面.
当你改正利用其他气势的代码时,为了与代码原有气势保持一致可以不利用本指南约定.假如不安心可以与代码原作者或目前的负责人员商榷,记着,一致性包含原有的一致性.
Windows程序员有自己的编码习惯,主要源于Windows的一些头文件和其他Microsoft代码.我们但愿任何人都可以顺利读懂你的代码,所以针对全部平台的C++编码给出一个单独的指导筹划.
假如你一向利用Windows编码气势的,这儿有必要重申一下某些你大概会忘掉的指南(译者注,我怎么感受像在被洗脑:D):
1) 不要利用匈牙利命名法(Hungarian notation,如定义整型变量为iNum),利用Google命名约定,包含对源文件利用.cc扩大名;
2) Windows定义了很多原有内建范例的同义词(译者注,这一点,我也很恶感),如DWORD、HANDLE等等,在调用Windows API时这是完好可以承受乃至鼓舞的,但还是尽大概利用本来的C++范例,比方,利用const TCHAR *而不是LPCTSTR;
3) 利用Microsoft Visual C++举行编译时,将告诫级别设置为3或更高,并将全部warnings当作errors处理;
4) 不要利用#pragma once;作为包含保护,利用C++尺度包含保护,包含保护的文件途径包含到项目树顶层(译者注,#include<prj_name/public/tools.h>);
5) 除非万不得已,不然不利用任何不尺度的扩大,如#pragma和__declspec,答应利用__declspec(dllimport)和__declspec(dllexport),但必须通过DLLIMPORT和DLLEXPORT等宏,以便其他人在同享利用这些代码时简单放弃这些扩大.
在Windows上,只有很少一些无意可以不服从的法则:
1) 普通我们禁止利用多重担当,但在利用COM和ATL/WTL类时可以利用多重担当,为了履行COM或ATL/WTL类及其接口时可以利用多重实现担当;
2) 固然代码中不该利用非常,但在ATL和部份STL(包含Visual C++的STL)中非常被遍及利用,利用ATL时,应定义_ATL_NO_EXCEPTIONS以屏蔽非常,你要研究一下能否也屏蔽掉STL的非常,假如不屏蔽,开启编译器非常也可以,注意这只是为了编译STL,自己仍旧不要写含非常处理的代码;
3) 普通每个项目的每个源文件中都包含一个名为StdAfx.h或precompile.h的头文件便利头文件预编译,为了使代码便利与其他项目同享,避免显式包含此文件(precompile.cc除外),利用编译器选项/FI以自动包含;
4) 普通名为resource.h、且只包含宏的资源头文件,没必要拘泥于此气势指南.
团队合作
参考常识,保持一致.
编辑代码时,花点时间看看项目中的其他代码并肯定其气势,假如其他代码if语句中利用空格,那么你也要利用.假如此中的注释用星号(*)围成一个盒子状,你也这样做:
/**********************************
* Some comments are here.
* There may be many lines.
**********************************/
编程气势指南的利用要点在于供应一个大众的编码标准,全部人可以把精神集合在实现内容而不是表现情势上.我们给出了全局的气势标准,但部分的气势也很重要,假如你在一个文件中新加的代码和原有代码气势相去甚远的话,这就破坏了文件本身的整体美好也影响阅读,所以要尽大概避免.
好了,关于编码气势写的差不多了,代码本身才是更风趣的,纵情享用吧!
以上是“<b>Google C++编程气势指南(八):法则之例外</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |