关于编程气势气魄的接头4
四、措施结实性:
1、函数的返回值类型:
对付函数的返回位置,只管保持单一性,即一个函数只管做到只有一个返回位置。(单进口单出口)。
要求各人统一函数的返回值,所有的函数的返回值都将以编码的方法返回。
譬喻编码界说如下:
#define CM_POINT_IS_NULL CMMAKEHR(0X200)
:
:
发起函数实现如下:
long 函数名(参数,……)
{
long lResult; //保持错误号
lResult=CM_OK;
//假如参数有错误则返回错误号
if(参数==NULL)
{
lResult=CM_POINT_IS_NULL;
goto END;
}
……
END:
return lResult;
}
2、关于goto的应用:
对goto语句的应用,我们要求只管罕用goto语句。对必然要用的处所要求只能向后转移。
3、资源变量的处理惩罚(资源变量是指耗损系统资源的变量):
对资源变量必然赋初值。分派的资源在用完后必需顿时释放,并从头赋值。
例:
long * plAllocMem;//界说一个分派内存的变量。
plAllocMem=(long*)calloc(40, sizeof( long ));//分派一段内存。
//处理惩罚分派内存错误
if(plAllocMem==NULL)
{
lResult=CM_MEM_ALLOC_FAILED;
goto END;
}
……
利用内存
……
//释放资源变量,并从头赋值。
if(pAllocMem!=NULL)
{
free(plAllocMem);
pAllocMem=NULL;
}
4、对巨大的条件判定,为了措施的可读性,应该只管利用括号。
例:if(((szFileName!=NULL)&&(lCount>=0)))||(bIsReaded==TRUE))
五、可移植性:
1、高质量的代码要求可以或许跨平台,所以我们的代码应该思量到对差异的平台的支持,出格是对windows98和windowsnt的支持。
2、由于C语言的移植性较量好,所以对算法函数要求用C代码,不能用C++代码。
3、对差异的硬件与软件的函数要做差异的处理惩罚。