- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C编程规则
命名规则:
标识符应当直观且可以拼读,可望文知意,不必进行“解码”。
标识符最好采用英文单词或其组合, 便于记忆和阅读。切忌使用汉语拼音来命名 ,标识符的长度应当符合“ min-length max-information ”原则,如使用缩写要使用大家公认的缩写。
程序中不要出现仅靠大小写区分的相似的标识符例如:
int X,x;//两者容易混淆
void FOOT();
void foot();
程序中不要出现标识符完全相同的局部变量和全局变量, 尽管两者的作用域不同而不会发生语法错误,但会使人误解
尽量避免名字中出现数字编号如:int Value1,Value2,除非逻辑上的需要。
函数名,类名,变量名以大写字母开头例如:
GetValue();//函数名
class Clock;//类名
int Value;//变量名
7.常量全用大写的字母, 用下划线分割单词 ,例如:
const int MAX_LENGTH =256;
8.静态变量加前缀s (表示static )例如:
static int sCounter;
9. 如果不得已需要全局变量, 则使全局变量加前缀g例如:
int gEnergyTotal;
10.全局对象前加g,例如:
Energy gEnergy;
11. 类的数据成员加前缀m_ (表示member ), 这样可以避免数据成员与成员 函数的参数同名。例如:
class Energy
{
private:
int m_PEnergy;
int m_QEnergy;
};
程序版式:
1.如果代码行中的运算符比较多, 用括号确定表达式的操作顺序, 避免使用默认的优先级。例如:
if(((Value4)0xff)+Temp) ;
2.用const 来定义常量
C++ 语言可以用 const 来定义常量 , 也可以用 #define 来定义常量。 但是前者比后者有更多的优点:const 常量有数据类型, 而宏常量没有数据类型。 编译器可以对前者进行类型安全检查。 而对后者只进行字符替换, 没有类型安全检查, 并且在字符替换可能会产生意料不到的错误 。
3.函数设计:
(1).参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。如果函数没有参数,则用 void 填充 ,例如:
void SetValue (int Width,int Height);
void Function(void);
(2).如果参数是指针,且仅作输入用, 则应在类型前加 const ,以防止该指针在函数体内被意外修改,例如:
void StringCopy(char *pDestination,const char *pSource )
(3).如果输入参数以值传递的方式传递对象,则宜改用“ const ”方式来传递,这样可以省去临时对象的构造和析构过程, 从而提高效率
(4).避免函数有太多的参数, 参数个数尽量控制在 5 个以内。 如果参数太多, 在使用时容易将参数类型或顺序搞错。
(5). 不要省略返回值的类型, 如果函数没有返回值,声名为void 类型。
(6). 函数的功能要单一,不要设计多用途的函数。
(7). 函数体的规模要小,尽量控制在 100 行代码之内 。
(8).函数注释,每个函数都加注释,重要的代码处或段落可以加注释,注释要与描述的代码靠近,放在其上方或右方。
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// 函数名称: void CBasicDisplay::DisplayStateInformation()
// 调用范例: 循显,按显中调用
// 功能描述: 显示状态信息如电压电流符号,象限指示,编程键,密码闭锁,当前费率。。。。。。
// 编译开关: 元
// 调用模块: m_PCF8576.Set_Char(DuKaChengGong)
gLicense.IsOpenSetupKey()
// 备 注: 失压失流,象限指示,读卡状态指示只有在上电时才显示,掉电状态不显示
// 输入参数: 无
// 函数返回: 无
// 作 者: 某某
// 其 它:无
// 最近修改日期: 2012-10-10
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(9).能使用引用的地方尽量使用引用,而不用指针。
(10).用数组作参数传递时,要加上数组长度。
4. 类结构中的 public, protected, private 顺
文档评论(0)