现在的位置: 首页 > 综合 > 正文

如何编写优质、高效、益于维护的C++代码

2018年01月16日 ⁄ 综合 ⁄ 共 1296字 ⁄ 字号 评论关闭

 

如何编写优质、高效、益于维护的代码是每个程序开发人员都关心的一个话题,尽管大家都知道一些,但是在实际写代码时还是会犯一些错误,下面就结合我的一些经验写一点总结,供大家参考:

1、首先是程序中变量、函数及类等的命名,这是一个老话题,但是很重要。尽量是看了你的命名就能大致明白变量或者函数的意义和作用。如成员变量一般都别忘了加上前缀"m_",对于整型值别忘了加上"n",float型加上"f",char类型的加上"sz",这些都是大家最常用的也是默认遵守的,这样别人很快能看明白你的代码。

2、对于函数的流程一定是设计清晰明了,在程序中一般不要用goto语句,程序的循环不要超过三级,过多了程序结构就复杂了,维护时比较费劲,能写成递归的尽量写成递归,因为比起循环来易于理解和维护,但是递归层次不要太多,太多了递归调用的效率比较低。

3、对每一功能能写成函数就尽量抽象成一个函数,一般一个函数的代码不要超过60行,太长了确实看起来比较费劲也比较难于维护。代码过长的可以将其功能再细分,拆分成多个函数。

4、程序中多用TRACE和ASSERT(Debug下)和VERIFY(Release下)。

5、程序中每个函数的定义尽量定义成带返回值的,并在函数的调用处做返回值检查,在检查出错的地方打出日志或者提示信息,这样有利于程序的调试,特别是超过几万行代码的大系统,这一点显得尤为重要。

6、在带指针的函数中一定要注意在使用前先检查这个指针是否为NULL;对于一内存缓冲或者对象删除时在delete后最好对它赋值为NULL。

7、对于某一缓冲区copy内容时一定要别忘了缓冲区空间是否够大的判断。实际上很多初学者的程序BUG中很多都是由于缓冲区溢出或者是操作空指针所导致的。

7、如果程序需要动态申请内存,最好每次申请的增量内存块不要刚好够存放新数据,这样需要经常反复申请不利于程序的效率。

8、在程序中多加注释,可以如如下的格式:
//***********************************************************//
//  功能:到域名缓冲中去查IP        
//  如果冲突则继续找,直到找到其Hash结点为止   
//  调用者:            
//  参数:1、szHostName 主机域名      
//   2、szIp 返回的IP        
//   3、nKey 返回的Hash表下标      
//  返回值:bool         
//  备注:
//***********************************************************//
最好对每个参数也进行一下说明,格式也比较整齐。对于在VC开发环境下的使用者可将整个格式写成一个宏接口,并添加到你的自定义工具栏中,这样每次注释一个函数时只需要点一下工具栏按钮即可自动形成上面的格式,你直接添写内容即可。

根据自己的一点经验了也就粗略地总结了这么多,本人觉得只要能做到以上几点,你的代码就算不是很完善,但至少看上去也优美,让别人看了你的代码也觉得好维护,很舒服的感觉。

抱歉!评论已关闭.