C++入职学习篇--代码规范(持续更新)
一、头文件规范
在头文件中大家一般会定义宏、引入库函数、声明、定义全局变量等,在设计时最后进行分类,代码示范(自己瞎琢磨的,请多多指点):
#ifndef TEXT_H
#define TEXT_H
//------------------------------------------------
#include <string>
#include <stdio.h>
//------------------------------------------------
#include "picture,h"
#include "work.h"
//------------------------------------------------
//your code
//------------------------------------------------
#endif /* endif TEXT_H */
最好将宏定义、标准库、自定义库分开,这样更清晰、便于读者阅读
二、类定义规范
在定义类时public、private、protected都需要写出来,即使没有内容,代码示例:
class TText() //命名类以T开头
{
public:
//------------------------------------------------
//your code
String GetName(void);//命名对外函数用首字母大写
//------------------------------------------------
private:
//------------------------------------------------
//your code
String sname;//命名变量首字母为类型首字母
String _usr_path_name(String filename);//命名私有成员函数以_开头
//------------------------------------------------
protected:
//------------------------------------------------
//your code
//------------------------------------------------
};
三、部分注释为了整体代码规范,需要在必要的时候添加
如果在一个场景中引用的四个工具类A、B、C、D,其他分析均对其四个分别分析,但是有一种情况仅需对其一分析,那就需要用注释分析其他三种,为了就是代码美观与整体性好。代码示例:
bool isopen(mode type){
if(type == A->mode){
project->mode = A->mode;
return true;
}
/*
if(type == B->mode){
project->mode = B->mode;
return true;
}*/
/*if(type == C->mode){
project->mode = C->mode;
return true;
}*/
/*if(type == D->mode){
project->mode = D->mode;
return true;
}*/
}
这样整体美观,便于读者分析
四、函数中代码规范
int textmain(char * filename) {
//----------------------------
int err;
char * buffer = new buffer[1024];
//----------------------------
FILE *pf;
pf = fopen(filename,"rb+");
//----------------------------
/* 注释的引用便于读者阅读,不用过多注释,但要有助于
理解程序段 */
//----------------------------
if(pf == NULL) {
cout<<"Open file fail"<<endl;
fcolse(pf);
err = -1;
}
//----------------------------
fcolse(pf);
//----------------------------
}
//------------------------------------------------
五、关于结构体struct 枚举enum的命名
结构体(struct)
typedef struct{
char cname[100];
int inum;
bool Check;
}STRU_USER_NAME;
枚举(enum)
typedef enum{
EUN_ONE_ITEM = 0,EUN_TWO_ITEM,..,EUN_UNKNOW = 0xFFFF
}EM_USER_NAME;
六、定义宏
如果程序中多处出现相同程序段,可将这样的程序段定义为宏进行调用
eg:
#define M_CHECK_INPUT_VALUE_INT(input_value) \
if(input_value[0] == '\0' || !input_value){ \
ShowMessage("Input value is empty!");
turn -1;
}
int main(){
const char a = "text";
M_CHECK_INPUT_VALUE_INT(input_value);
const char b = a;
cout<<"b:"<<b<<endl;
return 0
}