2014-03-30工作日志:我的编程风格

来源:互联网 发布:ps软件源码下载 编辑:程序博客网 时间:2024/06/05 03:57

1、头文件和c文件必须引用尧哥的common文件夹。


2、c/c++文件包含的头文件,也尽量和common文件夹中的文件所包含的头文件一致。


3、尽量多留几行空白行,更美观大方。


4、必须保留注释,养成好习惯。


5、在头文件中,要善于使用#ifndef的语句,防止头文件被调用多次而出错。要学会在#ifndef和#endif之间写上对应同名的cpp文件里面的函数的声明,并要会用尧哥的EXTERN_C。


6、程序尽量显得简洁,不要写很多句return语句,可以直接定义一个变量,把要return的内容存在变量中。

如果某些地方均需要释放内存并返回,则可以挑出他们的共同点,找同类一起释放,如:

if (lpCheckOut){HF_MemFree(lpCheckOut);}return dwReturn;

或者是用goto语句,如:
lpResultFilePath=(LPTSTR)HF_MemAlloc(sizeof(TCHAR)*(dwCharCount+dwSplitCount+1));if (!lpResultFilePath){LI_INFOPRINT(__HF__ TEXT("HF_GetDoubleSplit:HF_MemAlloc fail\n"));goto exit;}dwSplitIndex=0;for (dwCharIndex=0;dwCharIndex<dwCharCount;dwCharIndex++){lpResultFilePath[dwCharIndex+dwSplitIndex]=lpcFilePath[dwCharIndex];if (lpcFilePath[dwCharIndex]==TEXT('\\')){dwSplitIndex++;lpResultFilePath[dwCharIndex+dwSplitIndex]=TEXT('\\');}}lpResultFilePath[dwCharCount+dwSplitCount]=TEXT('\0');exit:return lpResultFilePath;
又如:
DWORD DLL_Test(IN LPTSTR lpFilePath,IN LPTSTR lpMd5Content){DWORD dFilePath;DWORD dwReturn=DM_DT_FILENOEXIST_ERROR;LPTSTR lpCheckOut=NULL;if (lpFilePath==NULL){dwReturn=DM_DT_INPUTNULL_ERROR;}dFilePath=GetFileAttributes(lpFilePath);if (dFilePath!=INVALID_FILE_ATTRIBUTES)//验证文件路径是否正确{if (!(dFilePath&FILE_ATTRIBUTE_DIRECTORY)){lpCheckOut=Md5Making(lpFilePath);if (lpCheckOut==NULL){dwReturn= DM_DT_MD5CHECK_ERROR;}if (lpMd5Content!=NULL){BOOL bCheckResult=FALSE;if (stricmp(lpCheckOut,lpMd5Content)==0){bCheckResult=TRUE;}if (bCheckResult){dwReturn= DM_DT_SUCCESS;}else{dwReturn= DM_DT_CHECKDIFFER_ERROR;}}else{_tprintf(TEXT("%s"),lpCheckOut);dwReturn= DM_DT_SUCCESS;}}else{dwReturn= DM_DT_FILEILLEGAL_ERROR;}}else{dwReturn= DM_DT_FILENOEXIST_ERROR;}if (lpCheckOut){HF_MemFree(lpCheckOut);}return dwReturn;}
而不是将每个dwReturn都换为return。

7、DWORD dwResult;变量的前两个字符或首字符一般是类型的前两个字符的小写。

8、修改完一次,就要更改一次版本号:要每次第三位增加2。


9、使用vc做工程时,往往要调试两种模式,将MBCS改为_UNICODE,UNICODE。

10、必须考虑argc==1或argc==2或argc>2,必须考虑细一点儿,这就是规范。

11、如果某个函数的返回值是一个变量,且这个变量开辟了一段内存空间,则在调用这函数之后,必须要释放掉这个函数赋予返回值的变量。


0 0
原创粉丝点击